From 25cb8e02b1356d35d8667d2db3ebb6b5f378eb65 Mon Sep 17 00:00:00 2001 From: igerasim Date: Wed, 7 Feb 2018 17:11:24 -0800 Subject: [PATCH] 8051972: sun/security/pkcs11/ec/ReadCertificates.java fails intermittently Reviewed-by: mullan --- test/sun/security/pkcs11/ec/ReadCertificates.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/test/sun/security/pkcs11/ec/ReadCertificates.java b/test/sun/security/pkcs11/ec/ReadCertificates.java index 8311b8d1e..82b7f4abc 100644 --- a/test/sun/security/pkcs11/ec/ReadCertificates.java +++ b/test/sun/security/pkcs11/ec/ReadCertificates.java @@ -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 @@ public class ReadCertificates extends PKCS11Test { 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) { -- GitLab