Java 验证签名和时间戳的尝试失败

Java 验证签名和时间戳的尝试失败,java,xml-signature,xades4j,Java,Xml Signature,Xades4j,我尝试用这个方法验证签名和时间戳 private static boolean verifyXAdEST(String folder, String file) { try { FileSystemDirectoryCertStore store = new FileSystemDirectoryCertStore("C:/Certs"); FileInputStream fis = new FileInputStream("C:/Certs/cert.p

我尝试用这个方法验证签名和时间戳

private static boolean verifyXAdEST(String folder, String file) {
    try {
        FileSystemDirectoryCertStore store = new FileSystemDirectoryCertStore("C:/Certs");
        FileInputStream fis = new FileInputStream("C:/Certs/cert.pfx");
        KeyStore ks = KeyStore.getInstance("pkcs12");
        ks.load(fis, "SECRET_PASS".toCharArray());                         
        fis.close();            
        CertificateValidationProvider provider = new PKIXCertificateValidationProvider(ks, false, store.getStore());

        XadesVerifier verifier = new XadesVerificationProfile(provider)
                .newVerifier();

        Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder()
                .parse(new File(folder + file));

        doc.getDocumentElement().normalize();

        Element sig = (Element)doc.getElementsByTagName("ds:Signature").item(0);

        XAdESVerificationResult result = verifier.verify(
                sig, null, 
                new XadesFormatExtenderProfile().getFormatExtender(),
                XAdESForm.T);


        return true;
    } catch (Exception ex) {
        System.err.println("Error: " + ex.getMessage());
    }
    return false;
}
但是该方法返回错误的XML签名

有人能帮我吗!!
谢谢

有嵌套的异常吗?另外,我不确定您为什么要使用扩展器,因为原始签名已经是XAdES-T(假设这与此问题相同:),对于未来的访问者,答案如下:示例代码如下: