首页 > 解决方案 > Xades4j:策略“自我:策略/一般”错误

问题描述

我正在尝试使用 xades4j 为西班牙政府签署发票。他们为签名的 xml 提供了一个在线检查器,并且只有一个整体检查的步骤失败了:

Step: Checks if the signature policy is correct Result: Unknown policy self:policy/general

完整性和证书状态等其他步骤都可以。

我的猜测是 self:policy/general 是 xades4j 库中的某种占位符,我应该以某种方式覆盖它?

现在我正在将此代码用于政策

SignaturePolicyInfoProvider policyInfoProvider = new SignaturePolicyInfoProvider()
{
    String FACTURAE_URL = "http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf";
    public SignaturePolicyBase getSignaturePolicy()
    {                       
        InputStream is = null;
        try {
            URL url = new URL(FACTURAE_URL);
            URLConnection conn = url.openConnection();
            is = conn.getInputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }
        SignaturePolicyBase base = new SignaturePolicyIdentifierProperty(new ObjectIdentifier(FACTURAE_URL),is);
        return base;
    }
};

要求在此在线文档(西班牙语)中https://www.facturae.gob.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf

我的 xml 输出似乎符合:

            <xades:SignaturePolicyIdentifier>
                <xades:SignaturePolicyId>
                    <xades:SigPolicyId>
                        <xades:Identifier>http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf</xades:Identifier>
                    </xades:SigPolicyId>
                    <xades:SigPolicyHash>
                        <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                        <ds:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</ds:DigestValue>
                    </xades:SigPolicyHash>
                </xades:SignaturePolicyId>
            </xades:SignaturePolicyIdentifier>

标签: xml-signaturexades4j

解决方案


我的猜测是 self:policy/general 是 xades4j 库中的某种占位符,我应该以某种方式覆盖它?

没有这样的事情。这可能是验证应用程序的一个细节。

我注意到问题文本中的 URL 是 HTTPS,而代码中的 URL 是 HTTP。似乎后者重定向到 HTTPs,但似乎URLConnection 在协议不同时不遵循重定向

尝试在代码中使用最终的 HTTPS URL。


推荐阅读