OpenJDK / jdk / jdk10
changeset 25811:f4d231e2c1bf
8051972: sun/security/pkcs11/ec/ReadCertificates.java fails intermittently
Reviewed-by: mullan
author | vinnie |
---|---|
date | Tue, 05 Aug 2014 13:59:15 +0100 |
parents | e8971dbd447d |
children | 5412629bed70 |
files | jdk/test/sun/security/pkcs11/ec/ReadCertificates.java |
diffstat | 1 files changed, 10 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/jdk/test/sun/security/pkcs11/ec/ReadCertificates.java Mon Aug 04 15:34:12 2014 -0700 +++ b/jdk/test/sun/security/pkcs11/ec/ReadCertificates.java Tue Aug 05 13:59:15 2014 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,7 +23,7 @@ /** * @test - * @bug 6405536 6414980 + * @bug 6405536 6414980 8051972 * @summary Make sure that we can parse certificates using various named curves * and verify their signatures * @author Andreas Sterbenz @@ -153,8 +153,14 @@ signer = getRandomCert(certList); } while (cert.getIssuerX500Principal().equals(signer.getSubjectX500Principal())); try { - cert.verify(signer.getPublicKey()); - throw new Exception("Verified invalid signature"); + PublicKey signerPublicKey = signer.getPublicKey(); + cert.verify(signerPublicKey); + // Ignore false positives + if (cert.getPublicKey().equals(signerPublicKey)) { + System.out.println("OK: self-signed certificate detected"); + } else { + throw new Exception("Verified invalid signature"); + } } catch (SignatureException e) { System.out.println("OK: " + e); } catch (InvalidKeyException e) {