2362N/A * Copyright (c) 2005, 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 * Represents the DistributionPointName ASN.1 type. 0N/A * It is used in the CRL Distribution Points Extension (OID = 2.5.29.31) 0N/A * and the Issuing Distribution Point Extension (OID = 2.5.29.28). 0N/A * Its ASN.1 definition is: 0N/A * DistributionPointName ::= CHOICE { 0N/A * fullName [0] GeneralNames, 0N/A * nameRelativeToCRLIssuer [1] RelativeDistinguishedName } 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 ::= 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 * @see CRLDistributionPointsExtension 0N/A * @see IssuingDistributionPointExtension 0N/A // ASN.1 context specific tag values 0N/A // Only one of fullName and relativeName can be set 0N/A // Cached hashCode value 0N/A * Creates a distribution point name using a full name. 0N/A * @param fullName the name for the distribution point. 0N/A * @exception IllegalArgumentException if <code>fullName</code> is null. 0N/A * Creates a distribution point name using a relative name. 0N/A * @param relativeName the name of the distribution point relative to 0N/A * the name of the issuer of the CRL. 0N/A * @exception IllegalArgumentException if <code>relativeName</code> is null. 0N/A * Creates a distribution point name from its DER-encoded form. 0N/A * @param encoding the DER-encoded value. 0N/A * @throws IOException on decoding error. 0N/A * Returns the full name for the distribution point or null if not set. 0N/A * Returns the relative name for the distribution point or null if not set. 0N/A * Encodes the distribution point name and writes it to the DerOutputStream. 0N/A * @param out the output stream. 0N/A * @exception IOException on encoding error. 0N/A * Compare an object to this distribution point name for equality. 0N/A * @param obj Object to be compared to this 0N/A * @return true if objects match; false otherwise 0N/A * Returns the hash code for this distribution point name. 0N/A * @return the hash code. 0N/A * Returns a printable string of the distribution point name. 0N/A * Utility function for a.equals(b) where both a and b may be null.