Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class X500Principal extends Object implements Principal, Serializable
Этот class представляет X.500 Principal
. X500Principal
s представляются отличительными именами, такими как "CN=Duke, OU=JavaSoft, Микросистемы O=Sun, C=US".
Этот class можно инстанцировать при использовании строкового представления отличительного имени, или при использовании ASN.1 DER закодированное представление байта отличительного имени. Текущая спецификация для строкового представления отличительного имени определяется в
Строковое представление для этого X500Principal
может быть получен, вызывая getName
методы.
Отметьте что getSubjectX500Principal
и getIssuerX500Principal
методы X509Certificate
возвратите X500Principals, представляющий выпускающего и предметные области сертификата.
X509Certificate
, Сериализированная ФормаМодификатор и Тип | Поле и Описание |
---|---|
static String |
КАНОНИЧЕСКИЙ
Канонический Строковый формат Отличительных имен.
|
static String |
RFC1779
Строковый формат RFC 1779 Отличительных имен.
|
static String |
RFC2253
Строковый формат RFC 2253 Отличительных имен.
|
Конструктор и Описание |
---|
X500Principal(byte[] name)
Создает
X500Principal от отличительного имени в ASN.1 DER закодированная форма. |
X500Principal(InputStream is)
Создает
X500Principal от InputStream содержа отличительное имя в ASN.1 DER закодированная форма. |
X500Principal(String name)
Создает
X500Principal от строкового представления отличительного имени X.500 (исключая: "CN=Duke, OU=JavaSoft, Микросистемы O=Sun, C=US"). |
X500Principal(String name, Map<String,String> keywordMap)
Создает
X500Principal от строкового представления отличительного имени X.500 (исключая: "CN=Duke, OU=JavaSoft, Микросистемы O=Sun, C=US"). |
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object o)
Сравнивает указанное
Object с этим X500Principal для равенства. |
byte[] |
getEncoded()
Возвращает отличительное имя в ASN.1 DER закодированная форма.
|
Строка |
getName()
Возвращает строковое представление отличительного имени X.500, используя формат, определенный в RFC 2253.
|
Строка |
getName(String format)
Возвращает строковое представление отличительного имени X.500, используя указанный формат.
|
Строка |
getName(String format, Map<String,String> oidMap)
Возвращает строковое представление отличительного имени X.500, используя указанный формат.
|
int |
hashCode()
Возвратите хэш-код для этого
X500Principal . |
Строка |
toString()
Возвратите удобное для пользователя строковое представление этого
X500Principal . |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
подразумевает
public static final String RFC1779
public static final String RFC2253
public static final String CANONICAL
public X500Principal(String name)
X500Principal
от строкового представления отличительного имени X.500 (исключая: "CN=Duke, OU=JavaSoft, Микросистемы O=Sun, C=US"). Отличительное имя должно быть определено, используя грамматику, определенную в RFC 1779, или RFC 2253 (любой формат является приемлемым). Этот конструктор распознает ключевые слова типа атрибута, определенные в RFC 1779 и RFC 2253 (и перечисленный в getName(String format)
), так же как T, DNQ или DNQUALIFIER, ФАМИЛИЯ, GIVENNAME, ИНИЦИАЛЫ, ГЕНЕРАЦИЯ, EMAILADDRESS, и ключевые слова SERIALNUMBER, Объектные Идентификаторы которых (OID) определяются в RFC 3280 и его преемнике. Любой другой тип атрибута должен быть определен как OID.
Эта реализация осуществляет более рестриктивный синтаксис OID чем определенный в RFC 1779 и 2253. Это использует более корректный синтаксис, определенный в
numericoid = number 1*( DOT number )
name
- отличительное имя X.500 в формате RFC 1779 или RFC 2253NullPointerException
- если name
null
IllegalArgumentException
- если name
ненадлежащим образом определяетсяpublic X500Principal(String name, Map<String,String> keywordMap)
X500Principal
от строкового представления отличительного имени X.500 (исключая: "CN=Duke, OU=JavaSoft, Микросистемы O=Sun, C=US"). Отличительное имя должно быть определено, используя грамматику, определенную в RFC 1779, или RFC 2253 (любой формат является приемлемым). Этот конструктор распознает ключевые слова типа атрибута, определенные в X500Principal(String)
и также распознает дополнительные ключевые слова, у которых есть записи в keywordMap
параметр. Записи ключевого слова в keywordMap имеют приоритет по ключевым словам значения по умолчанию, распознанным X500Principal(String)
. Ключевые слова ДОЛЖНЫ быть определены во всем верхнем регистре, иначе они будут проигнорированы. Игнорируются ненадлежащим образом указанные ключевые слова; однако, если ключевое слово на имя отображается на ненадлежащим образом указанный Объектный Идентификатор (OID), IllegalArgumentException
бросается. Допустимо иметь 2 различных ключевых слова, которые отображаются на тот же самый OID.
Эта реализация осуществляет более рестриктивный синтаксис OID чем определенный в RFC 1779 и 2253. Это использует более корректный синтаксис, определенный в
numericoid = number 1*( DOT number )
name
- отличительное имя X.500 в формате RFC 1779 или RFC 2253keywordMap
- карта ключевого слова типа атрибута, где каждым ключом является Строка ключевого слова, которая отображается на соответствующий объектный идентификатор в Строковой форме (последовательность неотрицательных целых чисел, разделенных периодами). Карта может быть пустой, но никогда null
.NullPointerException
- если name
или keywordMap
null
IllegalArgumentException
- если name
ненадлежащим образом определяется или ключевое слово в name
карты к OID, который не находится в корректной формеpublic X500Principal(byte[] name)
X500Principal
от отличительного имени в ASN.1 DER закодированная форма. Нотация ASN.1 для этой структуры следующие.
Name ::= CHOICE {
RDNSequence }
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::=
SET SIZE (1 .. MAX) OF AttributeTypeAndValue
AttributeTypeAndValue ::= SEQUENCE {
type AttributeType,
value AttributeValue }
AttributeType ::= OBJECT IDENTIFIER
AttributeValue ::= ANY DEFINED BY AttributeType
....
DirectoryString ::= CHOICE {
teletexString TeletexString (SIZE (1..MAX)),
printableString PrintableString (SIZE (1..MAX)),
universalString UniversalString (SIZE (1..MAX)),
utf8String UTF8String (SIZE (1.. MAX)),
bmpString BMPString (SIZE (1..MAX)) }
name
- байтовый массив, содержащий отличительное имя в ASN.1 DER закодированная формаIllegalArgumentException
- если ошибка кодирования происходит (неправильная форма для DN)public X500Principal(InputStream is)
X500Principal
от InputStream
содержа отличительное имя в ASN.1 DER закодированная форма. Нотация ASN.1 для этой структуры предоставляется в документации для X500Principal(byte[] name)
. Позиция чтения входного потока располагается в следующий доступный байт после закодированного отличительного имени.
is
- InputStream
содержа отличительное имя в ASN.1 DER закодированная формаNullPointerException
- если InputStream
null
IllegalArgumentException
- если ошибка кодирования происходит (неправильная форма для DN)public String getName()
Этот метод эквивалентен вызову getName(X500Principal.RFC2253)
.
public String getName(String format)
Если "RFC1779" определяется как формат, этот метод испускает ключевые слова типа атрибута, определенные в RFC 1779 (CN, L, ST, O, OU, C, УЛИЦА). Любой другой тип атрибута испускается как OID.
Если "RFC2253" определяется как формат, этот метод испускает ключевые слова типа атрибута, определенные в RFC 2253 (CN, L, ST, O, OU, C, УЛИЦА, DC, UID). Любой другой тип атрибута испускается как OID. При строгом чтении RFC 2253 только определяет строковое представление UTF-8. Строка, возвращенная этим методом, является строкой Unicode, достигнутой, декодируя это представление UTF-8.
Если "КАНОНИЧЕСКИЙ" определяется как формат, этот метод возвращает RFC 2253 совместимое строковое представление со следующими дополнительными канонизациями:
String.toUpperCase(Locale.US)
String.toLowerCase(Locale.US)
Дополнительные стандартные форматы могут быть представлены в будущем.
format
- формат, чтобы использоватьX500Principal
использование указанного форматаIllegalArgumentException
- если указанный формат является недопустимым или нулевымpublic String getName(String format, Map<String,String> oidMap)
IllegalArgumentException
будет брошен. Этот метод возвращает Строки в формате как определено в getName(String)
и также испускает дополнительные ключевые слова типа атрибута для OID, у которых есть записи в oidMap
параметр. Записи OID в oidMap имеют приоритет по OID значения по умолчанию, распознанным getName(String)
. Игнорируются ненадлежащим образом указанные OID; однако, если OID на имя отображается на ненадлежащим образом указанное ключевое слово, IllegalArgumentException
бросается.
Дополнительные стандартные форматы могут быть представлены в будущем.
Предупреждение: дополнительные ключевые слова типа атрибута не могут быть распознаны другими реализациями; поэтому не используйте этот метод, если Вы неуверены, если эти ключевые слова будут распознаны другими реализациями.
format
- формат, чтобы использоватьoidMap
- карта OID, где каждый ключ является объектным идентификатором в Строковой форме (последовательность неотрицательных целых чисел, разделенных периодами), который отображается на соответствующую Строку ключевого слова типа атрибута. Карта может быть пустой, но никогда null
.X500Principal
использование указанного форматаIllegalArgumentException
- если указанный формат является недопустимым, нулевым, или OID на имя отображается на ненадлежащим образом указанное ключевое словоNullPointerException
- если oidMap
null
public byte[] getEncoded()
X500Principal(byte[] name)
. Отметьте, что возвращенный байтовый массив клонируется, чтобы защитить от последующих модификаций.
public String toString()
X500Principal
.public boolean equals(Object o)
Object
с этим X500Principal
для равенства. Определенно, этот метод возвраты true
если Object
o X500Principal
и если соответствующие канонические строковые представления (полученный через getName(X500Principal.CANONICAL)
метод) этого объекта и o равны.
Эта реализация совместима с требованиями RFC 3280.
public int hashCode()
X500Principal
. Хэш-код вычисляется через: getName(X500Principal.CANONICAL).hashCode()
hashCode
в интерфейсе Principal
hashCode
в class Object
X500Principal
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92