jdk/test/java/security/cert/PKIXRevocationChecker/UnitTest.java
changeset 19045 bc9a25fff6c5
parent 14402 424f3f23f1da
child 21329 c8ed09765b9a
equal deleted inserted replaced
18161:d9558f046caa 19045:bc9a25fff6c5
     1 /*
     1 /*
     2  * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    21  * questions.
    21  * questions.
    22  */
    22  */
    23 
    23 
    24 /**
    24 /**
    25  * @test
    25  * @test
    26  * @bug 6854712 7171570
    26  * @bug 6854712 7171570 8010748
    27  * @summary Basic unit test for PKIXRevocationChecker
    27  * @summary Basic unit test for PKIXRevocationChecker
    28  */
    28  */
    29 
    29 
    30 import java.io.ByteArrayInputStream;
    30 import java.io.ByteArrayInputStream;
    31 import java.io.InputStream;
    31 import java.io.InputStream;
    32 import java.io.IOException;
    32 import java.io.IOException;
    33 import java.io.OutputStream;
    33 import java.io.OutputStream;
    34 import java.net.URI;
    34 import java.net.URI;
    35 import java.security.cert.CertificateFactory;
    35 import java.security.cert.*;
    36 import java.security.cert.CertPathBuilder;
       
    37 import java.security.cert.CertPathChecker;
       
    38 import java.security.cert.CertPathValidator;
       
    39 import java.security.cert.Extension;
       
    40 import java.security.cert.PKIXRevocationChecker;
       
    41 import java.security.cert.PKIXRevocationChecker.Option;
    36 import java.security.cert.PKIXRevocationChecker.Option;
    42 import java.security.cert.X509Certificate;
    37 import java.util.*;
    43 import java.util.ArrayList;
       
    44 import java.util.EnumSet;
       
    45 import java.util.List;
       
    46 import java.util.Map;
       
    47 import java.util.Set;
       
    48 
    38 
    49 public class UnitTest {
    39 public class UnitTest {
    50 
    40 
    51     public static void main(String[] args) throws Exception {
    41     public static void main(String[] args) throws Exception {
    52 
    42 
    54         CertPathChecker cpc = cpv.getRevocationChecker();
    44         CertPathChecker cpc = cpv.getRevocationChecker();
    55         PKIXRevocationChecker prc = (PKIXRevocationChecker)cpc;
    45         PKIXRevocationChecker prc = (PKIXRevocationChecker)cpc;
    56 
    46 
    57         System.out.println("Testing that get methods return null or " +
    47         System.out.println("Testing that get methods return null or " +
    58                            "empty lists/sets/maps");
    48                            "empty lists/sets/maps");
    59         requireNull(prc.getOCSPResponder(), "getOCSPResponder()");
    49         requireNull(prc.getOcspResponder(), "getOcspResponder()");
    60         requireNull(prc.getOCSPResponderCert(), "getOCSPResponderCert()");
    50         requireNull(prc.getOcspResponderCert(), "getOcspResponderCert()");
    61         requireEmpty(prc.getOCSPExtensions(), "getOCSPExtensions()");
    51         requireEmpty(prc.getOcspExtensions(), "getOcspExtensions()");
    62         requireEmpty(prc.getOCSPResponses(), "getOCSPResponses()");
    52         requireEmpty(prc.getOcspResponses(), "getOcspResponses()");
    63         requireEmpty(prc.getOptions(), "getOptions()");
    53         requireEmpty(prc.getOptions(), "getOptions()");
       
    54         requireEmpty(prc.getSoftFailExceptions(), "getSoftFailExceptions()");
    64 
    55 
    65         System.out.println("Testing that get methods return same parameters " +
    56         System.out.println("Testing that get methods return same parameters " +
    66                            "that are passed to set methods");
    57                            "that are passed to set methods");
    67         URI uri = new URI("http://localhost");
    58         URI uri = new URI("http://localhost");
    68         prc.setOCSPResponder(uri);
    59         prc.setOcspResponder(uri);
    69         requireEquals(uri, prc.getOCSPResponder(), "getOCSPResponder()");
    60         requireEquals(uri, prc.getOcspResponder(), "getOcspResponder()");
    70 
    61 
    71         X509Certificate cert = getCert();
    62         X509Certificate cert = getCert();
    72         prc.setOCSPResponderCert(cert);
    63         prc.setOcspResponderCert(cert);
    73         requireEquals(cert, prc.getOCSPResponderCert(),
    64         requireEquals(cert, prc.getOcspResponderCert(),
    74                       "getOCSPResponderCert()");
    65                       "getOcspResponderCert()");
    75 
    66 
    76         List<Extension> exts = new ArrayList<>();
    67         List<Extension> exts = new ArrayList<>();
    77         for (String oid : cert.getNonCriticalExtensionOIDs()) {
    68         for (String oid : cert.getNonCriticalExtensionOIDs()) {
    78             System.out.println(oid);
    69             System.out.println(oid);
    79             exts.add(new ExtensionImpl(oid,
    70             exts.add(new ExtensionImpl(oid,
    80                                        cert.getExtensionValue(oid), false));
    71                                        cert.getExtensionValue(oid), false));
    81         }
    72         }
    82         prc.setOCSPExtensions(exts);
    73         prc.setOcspExtensions(exts);
    83         requireEquals(exts, prc.getOCSPExtensions(), "getOCSPExtensions()");
    74         requireEquals(exts, prc.getOcspExtensions(), "getOcspExtensions()");
    84 
    75 
    85         Set<Option> options = EnumSet.of(Option.ONLY_END_ENTITY);
    76         Set<Option> options = EnumSet.of(Option.ONLY_END_ENTITY);
    86         prc.setOptions(options);
    77         prc.setOptions(options);
    87         requireEquals(options, prc.getOptions(), "getOptions()");
    78         requireEquals(options, prc.getOptions(), "getOptions()");
    88 
    79 
    89         System.out.println("Testing that parameters are re-initialized to " +
    80         System.out.println("Testing that parameters are re-initialized to " +
    90                            "default values if null is passed to set methods");
    81                            "default values if null is passed to set methods");
    91         prc.setOCSPResponder(null);
    82         prc.setOcspResponder(null);
    92         requireNull(prc.getOCSPResponder(), "getOCSPResponder()");
    83         requireNull(prc.getOcspResponder(), "getOcspResponder()");
    93         prc.setOCSPResponderCert(null);
    84         prc.setOcspResponderCert(null);
    94         requireNull(prc.getOCSPResponderCert(), "getOCSPResponderCert()");
    85         requireNull(prc.getOcspResponderCert(), "getOcspResponderCert()");
    95         prc.setOCSPExtensions(null);
    86         prc.setOcspExtensions(null);
    96         requireEmpty(prc.getOCSPExtensions(), "getOCSPExtensions()");
    87         requireEmpty(prc.getOcspExtensions(), "getOcspExtensions()");
    97         prc.setOCSPResponses(null);
    88         prc.setOcspResponses(null);
    98         requireEmpty(prc.getOCSPResponses(), "getOCSPResponses()");
    89         requireEmpty(prc.getOcspResponses(), "getOcspResponses()");
    99         prc.setOptions(null);
    90         prc.setOptions(null);
   100         requireEmpty(prc.getOptions(), "getOptions()");
    91         requireEmpty(prc.getOptions(), "getOptions()");
   101 
    92 
   102         System.out.println("Testing that getRevocationChecker returns new " +
    93         System.out.println("Testing that getRevocationChecker returns new " +
   103                            "instance each time");
    94                            "instance each time");