2362N/A * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A * Represent the DistributionPoint sequence used in the CRL 0N/A * Distribution Points Extension (OID = 2.5.29.31). 0N/A * The ASN.1 definition for this is: 0N/A * DistributionPoint ::= SEQUENCE { 0N/A * distributionPoint [0] DistributionPointName OPTIONAL, 0N/A * reasons [1] ReasonFlags OPTIONAL, 0N/A * cRLIssuer [2] GeneralNames OPTIONAL } 0N/A * DistributionPointName ::= CHOICE { 0N/A * fullName [0] GeneralNames, 0N/A * nameRelativeToCRLIssuer [1] RelativeDistinguishedName } 0N/A * ReasonFlags ::= BIT STRING { 0N/A * keyCompromise (1), 0N/A * affiliationChanged (3), 0N/A * cessationOfOperation (5), 0N/A * certificateHold (6), 0N/A * privilegeWithdrawn (7), 0N/A * aACompromise (8) } 0N/A * GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName 0N/A * GeneralName ::= CHOICE { 0N/A * otherName [0] INSTANCE OF OTHER-NAME, 0N/A * rfc822Name [1] IA5String, 0N/A * dNSName [2] IA5String, 0N/A * x400Address [3] ORAddress, 0N/A * directoryName [4] Name, 0N/A * ediPartyName [5] EDIPartyName, 0N/A * uniformResourceIdentifier [6] IA5String, 0N/A * iPAddress [7] OCTET STRING, 0N/A * registeredID [8] OBJECT IDENTIFIER } 0N/A * RelativeDistinguishedName ::= 0N/A * SET OF AttributeTypeAndValue 0N/A * AttributeTypeAndValue ::= SEQUENCE { 0N/A * type AttributeType, 0N/A * value AttributeValue } 0N/A * AttributeType ::= OBJECT IDENTIFIER 0N/A * AttributeValue ::= ANY DEFINED BY AttributeType 0N/A * Instances of this class are designed to be immutable. However, since this 0N/A * is an internal API we do not use defensive cloning for values for 0N/A * performance reasons. It is the responsibility of the consumer to ensure 0N/A * that no mutable elements are modified. 0N/A * @author Anne Anderson 0N/A * @author Andreas Sterbenz 0N/A * @see CRLDistributionPointsExtension 0N/A // NOTE that these are NOT quite the same as the CRL reason code extension 0N/A "affiliation changed",
0N/A "cessation of operation",
0N/A "privilege withdrawn",
0N/A // context specific tag values 0N/A // only one of fullName and relativeName can be set 0N/A // reasonFlags or null 0N/A // crlIssuer or null 0N/A // cached hashCode value 0N/A * Constructor for the class using GeneralNames for DistributionPointName 0N/A * @param fullName the GeneralNames of the distribution point; may be null 0N/A * @param reasons the CRL reasons included in the CRL at this distribution 0N/A * point; may be null 0N/A * @param issuer the name(s) of the CRL issuer for the CRL at this 0N/A * distribution point; may be null 0N/A (
"fullName and crlIssuer may not both be null");
0N/A * Constructor for the class using RelativeDistinguishedName for 0N/A * DistributionPointName 0N/A * @param relativeName the RelativeDistinguishedName of the distribution 0N/A * point; may not be null 0N/A * @param reasons the CRL reasons included in the CRL at this distribution 0N/A * point; may be null 0N/A * @param issuer the name(s) of the CRL issuer for the CRL at this 0N/A * distribution point; may not be null or empty. 0N/A (
"relativeName and crlIssuer may not both be null");
0N/A * Create the object from the passed DER encoded form. 0N/A * @param val the DER encoded form of the DistributionPoint 0N/A * @throws IOException on error 0N/A // Note that all the fields in DistributionPoint are defined as 0N/A // being OPTIONAL, i.e., there could be an empty SEQUENCE, resulting 0N/A // in val.data being null. 0N/A +
"DistributionPoint.");
0N/A +
"DistributionPoint");
0N/A "DistributionPoint.");
0N/A "DistributionPoint.");
0N/A "DistributionPoint.");
0N/A +
" and crlIssuer has to be set");
0N/A * Return the full distribution point name or null if not set. 0N/A * Return the relative distribution point name or null if not set. 0N/A * Return the reason flags or null if not set. 0N/A * Return the CRL issuer name or null if not set. 0N/A * Write the DistributionPoint value to the DerOutputStream. 0N/A * @param out the DerOutputStream to write the extension to. 0N/A * @exception IOException on error. 0N/A // NOTE: only one of pointNames and pointRDN can be set 0N/A * Utility function for a.equals(b) where both a and b may be null. 0N/A * Compare an object to this DistributionPoint for equality. 0N/A * @param obj Object to be compared to this 0N/A * @return true if objects match; false otherwise 0N/A * Return a string representation for reasonFlag bit 'reason'. 0N/A * Return a printable string of the Distribution Point.