这是我正在尝试验证xml签名的代码。对于一个包含使用签名算法证书签名的 xml 的 xml 文件md2RSA,它可以正常工作。但是另一个包含使用签名算法证书签名的xml的xml SHA256withRSA,它失败了。
这是我试图用来验证签名验证的代码:
public static void main(String[] args)
throws ParserConfigurationException, SAXException, IOException, XMLSignatureException, XMLSecurityException
{
File f = new File("F:\\workspace\\signeddocument2.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setNamespaceAware(true);
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
org.w3c.dom.Document doc = dBuilder.parse(f);
doc.getDocumentElement().normalize();
Element sigElement = (Element) doc.getElementsByTagNameNS(Constants.SignatureSpecNS, Constants._TAG_SIGNATURE)
.item(0);
XMLSignature signature = new XMLSignature(sigElement, f.toURI().toURL().toString());
boolean verified = false;
verified = signature.checkSignatureValue(signature.getKeyInfo().getPublicKey());
if (verified)
{
System.out.println("Signature verified successfully");
}
else
{
System.out.println("Signature verification failed.");
}
}
潇潇雨雨
阿晨1998
相关分类