16e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrompackage org.bouncycastle.asn1.x500; 26e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 36e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstromimport org.bouncycastle.asn1.ASN1Encodable; 46e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstromimport org.bouncycastle.asn1.ASN1ObjectIdentifier; 56e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 66e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom/** 76e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * It turns out that the number of standard ways the fields in a DN should be 86e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * encoded into their ASN.1 counterparts is rapidly approaching the 96e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * number of machines on the internet. By default the X500Name class 106e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * will produce UTF8Strings in line with the current recommendations (RFC 3280). 116e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * <p> 126e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom */ 136e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrompublic interface X500NameStyle 146e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom{ 156e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom /** 166e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * Convert the passed in String value into the appropriate ASN.1 176e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * encoded object. 186e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * 196e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * @param oid the oid associated with the value in the DN. 206e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * @param value the value of the particular DN component. 216e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom * @return the ASN.1 equivalent for the value. 226e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom */ 236e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, String value); 246e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 256e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom ASN1ObjectIdentifier attrNameToOID(String attrName); 266e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 276e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom boolean areEqual(X500Name name1, X500Name name2); 286e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 296e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom RDN[] fromString(String dirName); 306e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 316e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom int calculateHashCode(X500Name name); 326e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 336e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom String toString(X500Name name); 346e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom} 35