org.bouncycastle.asn1.x500.X500NameStyle Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-jdk15to18 Show documentation
Show all versions of bcprov-jdk15to18 Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
package org.bouncycastle.asn1.x500;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
/**
* This interface provides a profile to conform to when
* DNs are being converted into strings and back. The idea being that we'll be able to deal with
* the number of standard ways the fields in a DN should be
* encoded into their ASN.1 counterparts - a number that is rapidly approaching the
* number of machines on the internet.
*/
public interface X500NameStyle
{
/**
* Convert the passed in String value into the appropriate ASN.1
* encoded object.
*
* @param oid the OID associated with the value in the DN.
* @param value the value of the particular DN component.
* @return the ASN.1 equivalent for the value.
*/
ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, String value);
/**
* Return the OID associated with the passed in name.
*
* @param attrName the string to match.
* @return an OID
*/
ASN1ObjectIdentifier attrNameToOID(String attrName);
/**
* Return an array of RDN generated from the passed in String.
* @param dirName the String representation.
* @return an array of corresponding RDNs.
*/
RDN[] fromString(String dirName);
/**
* Return true if the two names are equal.
*
* @param name1 first name for comparison.
* @param name2 second name for comparison.
* @return true if name1 = name 2, false otherwise.
*/
boolean areEqual(X500Name name1, X500Name name2);
/**
* Calculate a hashCode for the passed in name.
*
* @param name the name the hashCode is required for.
* @return the calculated hashCode.
*/
int calculateHashCode(X500Name name);
/**
* Convert the passed in X500Name to a String.
* @param name the name to convert.
* @return a String representation.
*/
String toString(X500Name name);
/**
* Return the display name for toString() associated with the OID.
*
* @param oid the OID of interest.
* @return the name displayed in toString(), null if no mapping provided.
*/
String oidToDisplayName(ASN1ObjectIdentifier oid);
/**
* Return the acceptable names in a String DN that map to OID.
*
* @param oid the OID of interest.
* @return an array of String aliases for the OID, zero length if there are none.
*/
String[] oidToAttrNames(ASN1ObjectIdentifier oid);
}