OpenJDK / bsd-port / jdk8 / jdk
changeset 13348:90225a8ed937
8206911: javax/xml/crypto/dsig/GenerationTests.java fails in 8u-dev
Reviewed-by: mullan
author | coffeys |
---|---|
date | Wed, 22 Aug 2018 17:28:09 +0100 |
parents | 34e198353da6 |
children | 8cce85241656 |
files | test/ProblemList.txt test/javax/xml/crypto/dsig/GenerationTests.java |
diffstat | 2 files changed, 27 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/test/ProblemList.txt Tue Aug 21 06:13:07 2018 -0700 +++ b/test/ProblemList.txt Wed Aug 22 17:28:09 2018 +0100 @@ -308,9 +308,6 @@ # 8206909 com/sun/crypto/provider/CICO/PBEFunc/CICOPBEFuncTest.java solaris-sparcv9 -# 8206911 -javax/xml/crypto/dsig/GenerationTests.java solaris-all - # 8206912 sun/security/krb5/auto/ReplayCacheTestProc.java solaris-sparcv9
--- a/test/javax/xml/crypto/dsig/GenerationTests.java Tue Aug 21 06:13:07 2018 -0700 +++ b/test/javax/xml/crypto/dsig/GenerationTests.java Wed Aug 22 17:28:09 2018 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2018, 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 @@ -46,6 +46,7 @@ import java.security.PrivateKey; import java.security.PublicKey; import java.security.SecureRandom; +import java.security.Security; import java.security.cert.Certificate; import java.security.cert.CertificateFactory; import java.security.cert.X509CRL; @@ -120,6 +121,9 @@ private static final String BOGUS = "bogus"; + private static final String OS = System.getProperty("os.name"); + private static boolean secondChanceGranted = false; + private static final String xslt = "" + "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'\n" + " xmlns='http://www.w3.org/TR/xhtml1/strict' \n" @@ -1312,7 +1316,7 @@ } } - System.out.println("Test case passed"); + if (result) System.out.println("Test case passed"); } static boolean test_create_detached_signature(String canonicalizationMethod, @@ -1442,7 +1446,15 @@ boolean success = signature.validate(vc); if (!success) { System.out.println("Core signature validation failed"); - return false; + if (!secondChanceGranted && OS.contains("SunOS")) { + removePKCS11Provider(); + // set up the test again + return test_create_detached_signature(canonicalizationMethod, + signatureMethod, digestMethod, transform, + keyInfo, contentType, port); + } else { + return false; + } } success = signature.getSignatureValue().validate(vc); @@ -1454,6 +1466,18 @@ return true; } + /* + * Helper method for cases where we're running on unpatched + * solaris systems where PKCS11 native libraries are unpatched + */ + private static void removePKCS11Provider() throws Exception { + secondChanceGranted = true; + Security.removeProvider("SunPKCS11-Solaris"); + System.out.println("Second chance granted. Provider list: " + + Arrays.toString(Security.getProviders())); + setup(); + } + private static final String DSA_Y = "070662842167565771936588335128634396171789331656318483584455493822" + "400811200853331373030669235424928346190274044631949560438023934623" +