Класс TrustAnchor

public class TrustAnchor
extends Object

Якорь доверия или самый надёжный центр сертификации (ЦС).

Этот класс представляет собой «самый надёжный ЦС», который используется в качестве якоря доверия для проверки цепочек сертификации X.509. Самый надёжный ЦС включает открытый ключ ЦС, имя ЦС и любые ограничения на набор путей, которые могут быть проверены с помощью этого ключа. Эти параметры могут быть указаны в виде надёжного X509Certificate или как отдельные параметры.

Одновременный доступ

Все TrustAnchor объекты должны быть неизменяемыми и потокобезопасными. То есть, несколько потоков могут одновременно вызывать методы, определённые в этом классе, для одного TrustAnchor объекта (или более чем одного) без каких-либо негативных последствий. Требование, чтобы TrustAnchor объекты были неизменяемыми и потокобезопасными, позволяет передавать их различным частям кода, не беспокоясь о координации доступа. Это требование относится ко всем общедоступным полям и методам этого класса и любым добавленным или переопределённым подклассами.

С момента:
1.4
См. также:
PKIXParameters(Set), PKIXBuilderParameters(Set, CertSelector)

Конструкторы

Конструктор Описание
TrustAnchor​(String caName, PublicKey pubKey, byte[] nameConstraints)

Создаёт экземпляр TrustAnchor, где самый надёжный ЦС указан как отличительное имя и открытый ключ.

TrustAnchor​(X509Certificate trustedCert, byte[] nameConstraints)

Создаёт экземпляр TrustAnchor с указанным X509Certificate и необязательными ограничениями на имена, которые предназначены для использования в качестве дополнительных ограничений при проверке пути сертификации X.509.

TrustAnchor​(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)

Создаёт экземпляр TrustAnchor, где самый надёжный ЦС указан как X500Principal и открытый ключ.

Методы

Модификатор и тип Метод Описание
X500Principal getCA()

Возвращает имя самого надёжного ЦС как X500Principal.

String getCAName()

Возвращает имя самого надёжного ЦС в формате RFC 2253 String.

PublicKey getCAPublicKey()

Возвращает открытый ключ самого надёжного ЦС.

byte[] getNameConstraints()

Возвращает параметр ограничений имён.

X509Certificate getTrustedCert()

Возвращает сертификат самого надёжного ЦС.

String toString()

Возвращает отформатированную строку, описывающую TrustAnchor.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Конструкторы

TrustAnchor

public TrustAnchor(X509Certificate trustedCert,
                   byte[] nameConstraints)

Создаёт экземпляр TrustAnchor с указанным X509Certificate и необязательными ограничениями на имена, которые предназначены для использования в качестве дополнительных ограничений при проверке пути сертификации X.509.

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

NameConstraints ::= SEQUENCE {
       permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
       excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }

  GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree

  GeneralSubtree ::= SEQUENCE {
       base                    GeneralName,
       minimum         [0]     BaseDistance DEFAULT 0,
       maximum         [1]     BaseDistance OPTIONAL }

  BaseDistance ::= INTEGER (0..MAX)

  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}

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

Параметры:
trustedCert - надёжный X509Certificate
nameConstraints - массив байтов, содержащий ASN.1 DER-кодирование расширения NameConstraints, используемого для проверки ограничений на имена. Включается только значение расширения, а не OID или флаг критичности. Укажите null для пропуска параметра.
Исключения:
IllegalArgumentException - если ограничения на имена не могут быть декодированы
NullPointerException - если указанный X509Certificate является null

TrustAnchor

public TrustAnchor(X500Principal caPrincipal,
                   PublicKey pubKey,
                   byte[] nameConstraints)

Создаёт экземпляр TrustAnchor, где самый надёжный ЦС указан как X500Principal и открытый ключ. Ограничения на имена являются необязательным параметром и предназначены для использования в качестве дополнительных ограничений при проверке пути сертификации X.509.

Ограничения на имена задаются как массив байтов. Этот массив байтов содержит DER-кодированную форму ограничений на имена в соответствии со структурой NameConstraints, определённой в RFC 5280 и X.509. Нотация ASN.1 для этой структуры приведена в документации для TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) .

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

Параметры:
caPrincipal - имя самого надёжного ЦС как X500Principal
pubKey - открытый ключ самого надёжного ЦС
nameConstraints - массив байтов, содержащий ASN.1 DER-кодирование расширения NameConstraints для проверки ограничений на имена. Включается только значение расширения, а не OID или флаг критичности. Укажите null для пропуска параметра.
Исключения:
NullPointerException - если указанный caPrincipal или pubKey параметр является null
С момента:
1.5

TrustAnchor

public TrustAnchor(String caName,
                   PublicKey pubKey,
                   byte[] nameConstraints)

Создаёт экземпляр TrustAnchor, где самый надёжный ЦС указан как отличительное имя и открытый ключ. Ограничения на имена являются необязательным параметром и предназначены для использования в качестве дополнительных ограничений при проверке пути сертификации X.509.

Ограничения на имена задаются как массив байтов. Этот массив байтов содержит DER-кодированную форму ограничений на имена в соответствии со структурой NameConstraints, определённой в RFC 5280 и X.509. Нотация ASN.1 для этой структуры приведена в документации для TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) .

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

Параметры:
caName - отличительное имя X.500 самого надёжного ЦС в формате RFC 2253 String
pubKey - открытый ключ самого надёжного ЦС
nameConstraints - массив байтов, содержащий ASN.1 DER-кодирование расширения NameConstraints для проверки ограничений на имена. Включается только значение расширения, а не OID или флаг критичности. Укажите null для пропуска параметра.
Исключения:
IllegalArgumentException - если указанный caName параметр пуст (caName.length() == 0) или имеет неправильный формат, или ограничения на имена не могут быть декодированы
NullPointerException - если указанный caName или pubKey параметр является null

Методы

getTrustedCert

public final X509Certificate getTrustedCert()

Возвращает сертификат самого надёжного ЦС.

Возвращает:
надёжный X509Certificate или null, если якорь доверия не был задан как надёжный сертификат

getCA

public final X500Principal getCA()

Возвращает имя самого надёжного ЦС как X500Principal.

Возвращает:
отличительное имя X.500 самого надёжного ЦС или null, если якорь доверия не был задан как пара надёжного открытого ключа и имени или X500Principal
С момента:
1.5

getCAName

public final String getCAName()

Возвращает имя самого надёжного ЦС в формате RFC 2253 String.

Возвращает:
отличительное имя X.500 самого надёжного ЦС или null, если якорь доверия не был задан как пара надёжного открытого ключа и имени или X500Principal

getCAPublicKey

public final PublicKey getCAPublicKey()

Возвращает открытый ключ самого надёжного ЦС.

Возвращает:
открытый ключ самого надёжного ЦС или null, если якорь доверия не был задан как пара надёжного открытого ключа и имени или X500Principal

getNameConstraints

public final byte[] getNameConstraints()

Возвращает параметр ограничений на имена. Указанные ограничения на имена связаны с этим якорём доверия и предназначены для использования в качестве дополнительных ограничений при проверке пути сертификации X.509.

Ограничения на имена возвращаются как массив байтов. Этот массив байтов содержит DER-кодированную форму ограничений на имена в соответствии со структурой NameConstraints, определённой в RFC 5280 и X.509. Нотация ASN.1 для этой структуры приведена в документации для TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) .

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

Возвращает:
массив байтов, содержащий ASN.1 DER-кодирование расширения NameConstraints для проверки ограничений на имена, или null если не задано.

toString

public String toString()

Возвращает отформатированную строку, описывающую TrustAnchor.

Переопределяет:
toString в классе Object
Возвращает:
отформатированную строку, описывающую TrustAnchor

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/cert/TrustAnchor.html

Spec-Zone .ru
спецификации, руководства, описания, API