Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用包含认证机构(chain)验证已签名的XML文档?_Java_Xml_Cryptography_X509certificate_Digital Signature - Fatal编程技术网

Java 如何使用包含认证机构(chain)验证已签名的XML文档?

Java 如何使用包含认证机构(chain)验证已签名的XML文档?,java,xml,cryptography,x509certificate,digital-signature,Java,Xml,Cryptography,X509certificate,Digital Signature,我正在使用标准代码验证签名的XML文件,如下所示 boolean coreValidity = false; NodeList nl = doc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature"); if (nl.getLength() == 0) { throw new XMLSignatureException("Cannot find Signature element");

我正在使用标准代码验证签名的XML文件,如下所示

 boolean coreValidity = false;
    NodeList nl = doc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature");       
    if (nl.getLength() == 0) {
        throw new XMLSignatureException("Cannot find Signature element");
    }
    XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM");
    for(int itr = 0; itr < nl.getLength(); itr++){
        DOMValidateContext valContext = new DOMValidateContext
            (new KeyValueKeySelector(), nl.item(itr));
        XMLSignature signature = fac.unmarshalXMLSignature(valContext);
        KeyValueKeySelector keyValueKeySelector = new KeyValueKeySelector();
        DOMValidateContext docContext = new DOMValidateContext(keyValueKeySelector, doc.getDocumentElement());
        coreValidity = signature.validate(docContext);            
        if (coreValidity == false) {
                logger.log(Level.INFO ,"Signature failed");
             }
        } else {
            logger.log(Level.INFO ,"Signature passed core validation");
        }
布尔coreValidity=false;
NodeList nl=doc.getelementsbytagnames(XMLSignature.XMLNS,“签名”);
如果(nl.getLength()==0){
抛出新的XMLSignatureException(“找不到签名元素”);
}
XMLSignatureFactory fac=XMLSignatureFactory.getInstance(“DOM”);
对于(int-itr=0;itr
我需要验证证书链,包括CA。 需要什么代码?

您看到了吗?一定要读过代码!