Java 如何使用包含认证机构(chain)验证已签名的XML文档?
我正在使用标准代码验证签名的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");
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。
需要什么代码?您看到了吗?一定要读过代码!