# HG changeset patch # User vinnie # Date 1407243555 -3600 # Node ID f4d231e2c1bfedfd8bdc85cf42fceabf81ee08db # Parent e8971dbd447d58d8e892ea58de6e29f7d25f88f5 8051972: sun/security/pkcs11/ec/ReadCertificates.java fails intermittently Reviewed-by: mullan diff -r e8971dbd447d -r f4d231e2c1bf jdk/test/sun/security/pkcs11/ec/ReadCertificates.java --- 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) {