I try to verify a signature like this (this is PARes from Mastercard) and get false every time, but xml from VISA work ok
Mastercard
<?xml version="1.0" encoding="UTF-8"?> <ThreeDSecure><Message id="89e8bafa-755d-4ae9-a357-8641f13f057f"><PARes id="PARes-3cz1Jjfc"><version>1.0.2</version><Merchant><acqBIN>521324</acqBIN><merID>100000000000020</merID></Merchant><Purchase><xid>Z0FSSEFabjE1MTU2NTg2MTAzODY=</xid><date>20180111 08:16:50</date><purchAmount>1000</purchAmount><currency>643</currency><exponent>2</exponent></Purchase><pan>0000000000002290</pan><TX><time>20180111 08:17:00</time><status>Y</status><cavv>jNsniZHx4MT1DxEhZAITCFAAAAA=</cavv><eci>02</eci><cavvAlgorithm>3</cavvAlgorithm></TX></PARes><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod><Reference URI="#PARes-3cz1Jjfc"><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod><DigestValue>8I/izdCJcp7wABf2YfFQbd4Ktxg=</DigestValue></Reference></SignedInfo><SignatureValue>IQuLAtGT8rEFp/a5bV9Wu8qiSXpTGtvkJaJCuPTrflwPFFwiSLuivfcInX8pzirmObPV9ue4Kn8YFu+ltiYg8g2sHMa6S9RfC330+/ntBL2XxNp6IO+s7anGsM5WOmd3Pt176Ft5DRDOpeJg8N9PtbhYPQ//TzzehApb9/EMnpFZKEnJbYYl5Wpa7gPV+iIJJryAdZF3CW3c6/ns/XzwQZ9Tfm9t24SRbF2U/Hkn7aD6MUug772hqNiOHQJ0gtdtDxR9KkQfh3aNq5EmS2MEgfoCkm8mUOO/fQEOMBy2fbgE4/JnDZ/7n2x/hDKZZn9oUv7BLvoM1IcjfYKRiEve7g==</SignatureValue><KeyInfo><X509Data><X509Certificate>/tM5UOt3THMdrhT+2aIkj9T0pA35IyNMCNGDt+ejhy7tHdw1r6eDX/KXYHb4FlemY03DwRrkQSH/L+ZueS5dCfLM3m2azxBXtrVXDdNebfht8tcWRLK2Ou6vjDzdIzunuWRZ6kRDQ6oc1LSVO2BxiFO0TKowJP/M7qWRT/Jsmb6TGg0vmmQG9QEpmVmOZIexVxuYy3rn7gEbV1tv3k4aG0USMp2Xq/Xe4qe+Ir7sFqR56G4yKezSVLUzQaIB/deeCk9WU2T0XmicAEYDBQoecoS61R4nj5ODmzwmGyxrlAgMBAAGjQjBAMA8GA1UdEwQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQqFTcxVDO/uxI1hpFF3VSSTFMGujANBgkqhkiG9w0BAQUFAAOCAQEAhDOQ5zUX2wByVv0Cqka3ebnm/6xRzQQbWelzneDUNVdctn1nhJt2PK1uGV7RBGAGukgdAubwwnBhD2FdbhBHTVbpLPYxBbdMAyeC8ezaXGirXOAAv0YbGhPl1MUFiDmqSliavBFUs4cEuBIas4BUoZ5Fz042dDSAWffbdf3l4zrU5Lzol93yXxxIjqgIsT3QI+sRM3gg/Gdwo80DUQ2fRffsGdAUH2C/8L8/wH+E9HspjMDkXlZohPII0xtKhdIPWzbOB6DOULl2PkdGHmJc4VXxfOwE2NJAQxmoaPRDYGgOFVvkzYtyxVkxXeXAPNt8URR3jfWvYrBGH2D5A44Atg==</X509Certificate><X509Certificate>MIIEXDCCA0SgAwIBAgIRANcgQkwhTlImGuZQ3AEXtKkwDQYJKoZIhvcNAQEFBQAwgYYxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRNYXN0ZXJDYXJkIFdvcmxkd2lkZTEuMCwGA1UECxMlTWFzdGVyQ2FyZCBXb3JsZHdpZGUgU2VjdXJlQ29kZSBHZW4gMjEoMCYGA1UEAxMfUFJEIE1DIFNlY3VyZUNvZGUgSXNzdWVyIFN1YiBDQTAeFw0xNzAzMzAwOTI4MDdaFw0yMTAzMjkwOTI2NTBaMFUxCzAJBgNVBAYTAlJVMRYwFAYDVQQKEw1KU0MgQWxmYS1CYW5rMR0wGwYDVQQLExQ2NDM0IC0gSlNDIEFsZmEtQmFuazEPMA0GA1UEAxMGTUNTaWduMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnwIwC77LQtKfDk6FpFzUSP1EMpGc0YsxS3bYPzOo09mRNDl3UlGYyYFmKVG0/BiPNqBBzV50CEXYHljoO7o5V8iUs5rVA2mWR6fDSQdbZBEcTiJZxWUon4wh2Xgsg7nznFfljTKoszdbKdTc5JP3ESPR1jPsloBuOeVZQI4zkNhricSwP9cYWxWa+zUUvXe5HCaes0VnQqmiw9o+GIB3aiyUd8eogAQvyiG77RUUp+vid0k/Fcvx/3WlwLcZAxzHB36UHSsvlqbrDl1vFTh9sJ2OPiOAJbNEn0ru6ESkmyBQZmyOo7A6uTafO/319dtl5/TLos43e4Cy8biOYa1jvQIDAQABo4H0MIHxMIGmBgNVHSMEgZ4wgZuhgYakgYMwgYAxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRNYXN0ZXJDYXJkIFdvcmxkd2lkZTEuMCwGA1UECxMlTWFzdGVyQ2FyZCBXb3JsZHdpZGUgU2VjdXJlQ29kZSBHZW4gMjEiMCAGA1UEAxMZUFJEIE1DIFNlY3VyZUNvZGUgUm9vdCBDQYIQQ3EBfDozHhKp3pmzcHr6ZzAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIHgDArBgNVHRAEJDAigA8yMDE3MDMzMDA5MjgwN1qBDzIwMjAwMzI5MDkyODA3WjANBgkqhkiG9w0BAQUFAAOCAQEA0uVJnNTtR8rkR9v6hDfp4Myg3Fl/9fEmjnaTeZXnjS2Yh0hYDaWzOi2vN9GrTcZiTlmMu55+/EgseYOWoa4lPFL3pk9hWxlPW/ZUeoX1c39G08BVS4fKtf6OlBCOOVT2rF3Pz12L+Q2c89b1TKQ3+J5z4NMuSAudX2jZlS15GNpyyeBd+4iygSQfG3oYaCD6lv2hVmT2G7ZhLIagMt6bNikfpA1295RDAhXCuxVs+Eqy8Llr0FdOjge+L7htQjJtvSvidGjnod74HuafsTlu9yJKQxLHO9guOLgE74QYiN7xkrIZE5IfvCE+qV8T79jPyF3FG88LoWpno9YhV7zZfg==</X509Certificate><X509Certificate>+vyq9EhX1NIoiAhP7fl+y/hosX66drjfrbyspZLalrVG6gYbdB2j2Sr8zBRQnMZKKluDwYv/266nnRBeyGYW3FwyVu8L1ACYQc04ACke+07NI/AZ8OXQSoeboEEGUO520/76o1cER5Ok9HRi0jJD8E64j8dEt36Mcg0JaKQiDjShlyTw4ABYyzZ1Vxl0/iDrfwboxNEOOooC0rcGNnCpISXMWn2NmZH1QxiFt2jIZ8QzF3/z+M3iYradh9uZauleNqJ9LPKr/aFFDbe0Bv0PLbvXOnFpwOxvJODWUj8CAwEAAaOB7TCB6jAPBgNVHRMECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUwTArnR3hR1+Ij1uxMtqoPBm2j7swgacGA1UdIwSBnzCBnKGBhqSBgzCBgDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFE1hc3RlckNhcmQgV29ybGR3aWRlMS4wLAYDVQQLEyVNYXN0ZXJDYXJkIFdvcmxkd2lkZSBTZWN1cmVDb2RlIEdlbiAyMSIwIAYDVQQDExlQUkQgTUMgU2VjdXJlQ29kZSBSb290IENBghEA7qGSrpcB0q8DkgwCPcT3kzANBgkqhkiG9w0BAQUFAAOCAQEA3lJuYVdiy11ELUfBfLuib4gPTbkDdVLBEKosx0yUDczeXoTUOjBEc90f5KRjbpe4pilOGAQnPNUGpi3ZClS+0ysTBp6RdYz1efNLSuaTJtpJpoCOk1/nw6W+nJEWyDXUcC/yVqstZidcOG6AMfKU4EC5zBNELZCGf1ynM2l+gwvkcDUv4Y2et/n/NqIKBzywGSOktojTma0kHbkAe6pj6i65TpwEgEpywVl50oMmNKvXDNMznrAG6S9us+OHDjonOlmmyWmQxXdU1MzwdKzPjHfwl+Z6kByDXruHjEcNsx7P2rUTm/Bt3SWW1K48VfNNhVa/WctTZGJCrV3Zjl6A9g==</X509Certificate></X509Data></KeyInfo></Signature></Message></ThreeDSecure>
My verification code
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder builder = dbf.newDocumentBuilder(); final InputStream stream = new ByteArrayInputStream(xmlDoc.getBytes(StandardCharsets.UTF_8)); Document doc = builder.parse(stream); NodeList nl = doc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature"); if (nl.getLength() == 0) { throw new XMLSignatureException("Cannot find Signature element"); } DOMValidateContext valContext = new DOMValidateContext(new X509KeySelector(keysFile, keyPassword), nl.item(0)); Element PARes = (Element) doc.getElementsByTagName("PARes").item(0); valContext.setIdAttributeNS(PARes, null, "id"); XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
I added additional code to get the reason for the failure
// Check core validation status if (coreValidity == false) { System.err.println("Signature failed core validation"); boolean sv = signature.getSignatureValue().validate(valContext); System.out.println("signature validation status: " + sv); // check the validation status of each Reference Iterator<?> i = signature.getSignedInfo().getReferences().iterator(); for (int j = 0; i.hasNext(); j++) { boolean refValid = ((Reference) i.next()).validate(valContext); System.out.println("ref[" + j + "] validity status: " + refValid); } } else { System.out.println("Signature passed core validation"); }
and got this result
Signature failed core validation signature validation status: false ref[0] validity status: true
Avoiding false signature verification or debugging reasons. there is information on the standard page
Please note that there may be valid signatures that some signature applications cannot verify. Reasons for this include inability to implement the optional parts of this specification, inability or unwillingness to execute certain algorithms, or inability or unwillingness to dereferenced URIs (some URI schemes can cause unwanted side effects), etc.
But how to avoid this problem. I know that the signature is valid, but ... One difference between good and incorrect xml verified is the id link format. In good xml without - just numbers or alphabets
RAW input
//VISA
String PaRes = "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";
// MasterCard
String PaRes = "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\\u003d\\u003d";
Code for decoding
String pares = new String(decompress(response), Charset.forName("UTF-8")); private byte[] decompress(String PARes) throws IOException, DataFormatException { BASE64Decoder decoder = new BASE64Decoder(); final byte[] compressedData = decoder.decodeBuffer(PARes);