jdk/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java
changeset 18551 882a3948c6e6
parent 5506 202f599c92aa
child 24969 afa6934dd8e8
equal deleted inserted replaced
18550:6d0f51c99930 18551:882a3948c6e6
     1 /*
     1 /*
     2  * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2000, 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.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    31  * This class represents the successful result of the PKIX certification
    31  * This class represents the successful result of the PKIX certification
    32  * path builder algorithm. All certification paths that are built and
    32  * path builder algorithm. All certification paths that are built and
    33  * returned using this algorithm are also validated according to the PKIX
    33  * returned using this algorithm are also validated according to the PKIX
    34  * certification path validation algorithm.
    34  * certification path validation algorithm.
    35  *
    35  *
    36  * <p>Instances of <code>PKIXCertPathBuilderResult</code> are returned by
    36  * <p>Instances of {@code PKIXCertPathBuilderResult} are returned by
    37  * the <code>build</code> method of <code>CertPathBuilder</code>
    37  * the {@code build} method of {@code CertPathBuilder}
    38  * objects implementing the PKIX algorithm.
    38  * objects implementing the PKIX algorithm.
    39  *
    39  *
    40  * <p>All <code>PKIXCertPathBuilderResult</code> objects contain the
    40  * <p>All {@code PKIXCertPathBuilderResult} objects contain the
    41  * certification path constructed by the build algorithm, the
    41  * certification path constructed by the build algorithm, the
    42  * valid policy tree and subject public key resulting from the build
    42  * valid policy tree and subject public key resulting from the build
    43  * algorithm, and a <code>TrustAnchor</code> describing the certification
    43  * algorithm, and a {@code TrustAnchor} describing the certification
    44  * authority (CA) that served as a trust anchor for the certification path.
    44  * authority (CA) that served as a trust anchor for the certification path.
    45  * <p>
    45  * <p>
    46  * <b>Concurrent Access</b>
    46  * <b>Concurrent Access</b>
    47  * <p>
    47  * <p>
    48  * Unless otherwise specified, the methods defined in this class are not
    48  * Unless otherwise specified, the methods defined in this class are not
    60     implements CertPathBuilderResult {
    60     implements CertPathBuilderResult {
    61 
    61 
    62     private CertPath certPath;
    62     private CertPath certPath;
    63 
    63 
    64     /**
    64     /**
    65      * Creates an instance of <code>PKIXCertPathBuilderResult</code>
    65      * Creates an instance of {@code PKIXCertPathBuilderResult}
    66      * containing the specified parameters.
    66      * containing the specified parameters.
    67      *
    67      *
    68      * @param certPath the validated <code>CertPath</code>
    68      * @param certPath the validated {@code CertPath}
    69      * @param trustAnchor a <code>TrustAnchor</code> describing the CA that
    69      * @param trustAnchor a {@code TrustAnchor} describing the CA that
    70      * served as a trust anchor for the certification path
    70      * served as a trust anchor for the certification path
    71      * @param policyTree the immutable valid policy tree, or <code>null</code>
    71      * @param policyTree the immutable valid policy tree, or {@code null}
    72      * if there are no valid policies
    72      * if there are no valid policies
    73      * @param subjectPublicKey the public key of the subject
    73      * @param subjectPublicKey the public key of the subject
    74      * @throws NullPointerException if the <code>certPath</code>,
    74      * @throws NullPointerException if the {@code certPath},
    75      * <code>trustAnchor</code> or <code>subjectPublicKey</code> parameters
    75      * {@code trustAnchor} or {@code subjectPublicKey} parameters
    76      * are <code>null</code>
    76      * are {@code null}
    77      */
    77      */
    78     public PKIXCertPathBuilderResult(CertPath certPath,
    78     public PKIXCertPathBuilderResult(CertPath certPath,
    79         TrustAnchor trustAnchor, PolicyNode policyTree,
    79         TrustAnchor trustAnchor, PolicyNode policyTree,
    80         PublicKey subjectPublicKey)
    80         PublicKey subjectPublicKey)
    81     {
    81     {
    85         this.certPath = certPath;
    85         this.certPath = certPath;
    86     }
    86     }
    87 
    87 
    88     /**
    88     /**
    89      * Returns the built and validated certification path. The
    89      * Returns the built and validated certification path. The
    90      * <code>CertPath</code> object does not include the trust anchor.
    90      * {@code CertPath} object does not include the trust anchor.
    91      * Instead, use the {@link #getTrustAnchor() getTrustAnchor()} method to
    91      * Instead, use the {@link #getTrustAnchor() getTrustAnchor()} method to
    92      * obtain the <code>TrustAnchor</code> that served as the trust anchor
    92      * obtain the {@code TrustAnchor} that served as the trust anchor
    93      * for the certification path.
    93      * for the certification path.
    94      *
    94      *
    95      * @return the built and validated <code>CertPath</code> (never
    95      * @return the built and validated {@code CertPath} (never
    96      * <code>null</code>)
    96      * {@code null})
    97      */
    97      */
    98     public CertPath getCertPath() {
    98     public CertPath getCertPath() {
    99         return certPath;
    99         return certPath;
   100     }
   100     }
   101 
   101 
   102     /**
   102     /**
   103      * Return a printable representation of this
   103      * Return a printable representation of this
   104      * <code>PKIXCertPathBuilderResult</code>.
   104      * {@code PKIXCertPathBuilderResult}.
   105      *
   105      *
   106      * @return a <code>String</code> describing the contents of this
   106      * @return a {@code String} describing the contents of this
   107      *         <code>PKIXCertPathBuilderResult</code>
   107      *         {@code PKIXCertPathBuilderResult}
   108      */
   108      */
   109     public String toString() {
   109     public String toString() {
   110         StringBuffer sb = new StringBuffer();
   110         StringBuffer sb = new StringBuffer();
   111         sb.append("PKIXCertPathBuilderResult: [\n");
   111         sb.append("PKIXCertPathBuilderResult: [\n");
   112         sb.append("  Certification Path: " + certPath + "\n");
   112         sb.append("  Certification Path: " + certPath + "\n");