Язык

X509CertSelector.SetAuthorityKeyIdentifier(Byte[]) Метод

Определение

Задает критерий authorityKeyIdentifier.

[Android.Runtime.Register("setAuthorityKeyIdentifier", "([B)V", "GetSetAuthorityKeyIdentifier_arrayBHandler")]
public virtual void SetAuthorityKeyIdentifier(byte[]? authorityKeyID);
[<Android.Runtime.Register("setAuthorityKeyIdentifier", "([B)V", "GetSetAuthorityKeyIdentifier_arrayBHandler")>]
abstract member SetAuthorityKeyIdentifier : byte[] -> unit
override this.SetAuthorityKeyIdentifier : byte[] -> unit

Параметры

authorityKeyID
Byte[]

идентификатор ключа центра (или null)

Атрибуты

Комментарии

Задает критерий authorityKeyIdentifier. Должен X509Certificate содержать расширение AuthorityKeyIdentifier, для которого содержимое значения расширения соответствует указанному значению критерия. Если значение критерия равно null, проверка authorityKeyIdentifier не будет выполнена.

Если authorityKeyID это не nullтак, оно должно содержать одно закодированное значение DER, соответствующее содержимому значения расширения (не включая идентификатор объекта, параметр критичности и инкапсулирование OCTET STRING) для расширения AuthorityKeyIdentifier. Следующая нотация ASN.1 для этой структуры.

{@code
            AuthorityKeyIdentifier ::= SEQUENCE {
               keyIdentifier             [0] KeyIdentifier           OPTIONAL,
               authorityCertIssuer       [1] GeneralNames            OPTIONAL,
               authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL  }

            KeyIdentifier ::= OCTET STRING
            }

Идентификаторы ключей центра не анализируются X509CertSelector. Вместо этого значения сравниваются с помощью сравнения байтов по байтам.

keyIdentifier При заполнении поля AuthorityKeyIdentifier значение обычно берется из SubjectKeyIdentifier расширения в сертификате издателя. Обратите внимание, что результат X509Certificate.getExtensionValue(<SubjectKeyIdentifier Object Identifier>) сертификата издателя может не использоваться непосредственно в качестве входных данных setAuthorityKeyIdentifier. Это связано с тем, что SubjectKeyIdentifier содержит только keyIdentifier OCTET STRING, а не ПОСЛЕДОВАТЕЛЬНОСТЬ KeyIdentifier, GeneralNames и CertificateSerialNumber. Чтобы использовать значение расширения сертификата SubjectKeyIdentifier издателя, потребуется извлечь значение внедренного KeyIdentifier OCTET STRING, а затем кодировать эту СТРОКУ OCTET внутри ПОСЛЕДОВАТЕЛЬНОСТИ. Дополнительные сведения о SubjectKeyIdentifier см. в разделе #setSubjectKeyIdentifier(byte[] subjectKeyID).

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

Java документации по java.security.cert.X509CertSelector.setAuthorityKeyIdentifier(byte[]).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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