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-ext-debug-jdk18on Show documentation
Show all versions of bcprov-ext-debug-jdk18on 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 Java 1.8 and later with debug enabled.
The newest version!
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);
}