Поделиться через


X509CertSelector.AddSubjectAlternativeName Метод

Определение

Перегрузки

AddSubjectAlternativeName(Int32, Byte[])

Добавляет имя к критерию subjectAlternativeNames.

AddSubjectAlternativeName(Int32, String)

Добавляет имя к критерию subjectAlternativeNames.

AddSubjectAlternativeName(Int32, Byte[])

Добавляет имя к критерию subjectAlternativeNames.

[Android.Runtime.Register("addSubjectAlternativeName", "(I[B)V", "GetAddSubjectAlternativeName_IarrayBHandler")]
public virtual void AddSubjectAlternativeName (int type, byte[]? name);
[<Android.Runtime.Register("addSubjectAlternativeName", "(I[B)V", "GetAddSubjectAlternativeName_IarrayBHandler")>]
abstract member AddSubjectAlternativeName : int * byte[] -> unit
override this.AddSubjectAlternativeName : int * byte[] -> unit

Параметры

type
Int32

тип имени (0-8, как указано выше)

name
Byte[]

массив байтов, содержащий имя в кодировке ASN.1 DER

Атрибуты

Исключения

Если декодирование имени завершается ошибкой.

Комментарии

Добавляет имя к критерию subjectAlternativeNames. Он X509Certificate должен содержать все или хотя бы один из указанных subjectAlternativeNames в зависимости от значения флага matchAllNames (см. раздел #setMatchAllSubjectAltNames setMatchAllSubjectAltNames).

Этот метод позволяет вызывающему объекту добавлять имя в набор альтернативных имен субъектов. Указанное имя добавляется к любому предыдущему значению критерия subjectAlternativeNames. Если указанное имя является дубликатом, его можно игнорировать.

Имя предоставляется в виде массива байтов. Этот массив байтов должен содержать закодированное имя DER, так как он будет отображаться в структуре GeneralName, определенной в RFC 5280 и X.509. Кодированный массив байтов должен содержать только закодированное значение имени и не должен включать тег, связанный с именем в структуре GeneralName. Определение ASN.1 этой структуры отображается ниже.

{@code
             GeneralName ::= CHOICE {
                  otherName                       [0]     OtherName,
                  rfc822Name                      [1]     IA5String,
                  dNSName                         [2]     IA5String,
                  x400Address                     [3]     ORAddress,
                  directoryName                   [4]     Name,
                  ediPartyName                    [5]     EDIPartyName,
                  uniformResourceIdentifier       [6]     IA5String,
                  iPAddress                       [7]     OCTET STRING,
                  registeredID                    [8]     OBJECT IDENTIFIER}
            }

Обратите внимание, что указанный здесь массив байтов клонируется для защиты от последующих изменений.

Документация по Java для java.security.cert.X509CertSelector.addSubjectAlternativeName(int, byte[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

AddSubjectAlternativeName(Int32, String)

Добавляет имя к критерию subjectAlternativeNames.

[Android.Runtime.Register("addSubjectAlternativeName", "(ILjava/lang/String;)V", "GetAddSubjectAlternativeName_ILjava_lang_String_Handler")]
public virtual void AddSubjectAlternativeName (int type, string? name);
[<Android.Runtime.Register("addSubjectAlternativeName", "(ILjava/lang/String;)V", "GetAddSubjectAlternativeName_ILjava_lang_String_Handler")>]
abstract member AddSubjectAlternativeName : int * string -> unit
override this.AddSubjectAlternativeName : int * string -> unit

Параметры

type
Int32

Тип имени (0-8, как указано в RFC 5280, раздел 4.2.1.6)

name
String

имя в строковой форме (не null)

Атрибуты

Исключения

Если синтаксический анализ имени завершается ошибкой.

Комментарии

Добавляет имя к критерию subjectAlternativeNames. Он X509Certificate должен содержать все или хотя бы один из указанных subjectAlternativeNames в зависимости от значения флага matchAllNames (см. раздел #setMatchAllSubjectAltNames setMatchAllSubjectAltNames).

Этот метод позволяет вызывающему объекту добавлять имя в набор альтернативных имен субъектов. Указанное имя добавляется к любому предыдущему значению критерия subjectAlternativeNames. Если указанное имя является дубликатом, его можно игнорировать.

Имя предоставляется в строковом формате. Имена RFC 822, DNS и URI используют хорошо установленные форматы строк для этих типов (при условии ограничений, включенных в RFC 5280). Имена адресов IPv4 предоставляются с помощью точечной четырехточия нотации. Имена адресов OID представлены в виде ряда ненегивных целых чисел, разделенных точками. Имена каталогов (различающиеся имена) предоставляются в формате RFC 2253. Стандартный формат строки не определен для других имен, имен X.400, имен сторон EDI, имен адресов IPv6 или других типов имен. Их следует указать с помощью #addSubjectAlternativeName(int type, byte [] name) addSubjectAlternativeName(int type, byte [] name) метода.

<strong>Note:</strong> для различаемых имен используйте вместо этого #addSubjectAlternativeName(int, byte[]). Этот метод не следует полагаться на то, что он может не соответствовать некоторым сертификатам из-за потери сведений о кодировке в формате RFC 2253 String некоторых различаемых имен.

Документация по Java для java.security.cert.X509CertSelector.addSubjectAlternativeName(int, java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к