Spec-Zone.ru › OpenJDK 27

Класс TrustAnchor

java.lang.Object
java.security.cert.TrustAnchor
public class TrustAnchor extends Object
Якорь доверия или наиболее доверенный центр сертификации (CA).

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

Параллельный доступ

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

Начиная с:
1.4
См. также:
  • PKIXParameters(Set)
  • PKIXBuilderParameters(Set, CertSelector)

Краткое описание конструкторов

Конструктор Описание
TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints)
Создаёт экземпляр TrustAnchor, в котором наиболее доверенный CA задаётся в виде различительного имени и открытого ключа.
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
Создаёт экземпляр TrustAnchor с указанным X509Certificate и необязательными ограничениями имён, предназначенными для использования в качестве дополнительных ограничений при проверке пути сертификации X.509.
TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)
Создаёт экземпляр TrustAnchor, в котором наиболее доверенный CA задаётся как X500Principal и открытый ключ.

Краткое описание методов

Модификатор и тип Метод Описание
final X500Principal getCA()
Возвращает имя наиболее доверенного CA в виде X500Principal.
final String getCAName()
Возвращает имя наиболее доверенного CA в формате String RFC 2253.
final PublicKey getCAPublicKey()
Возвращает открытый ключ наиболее доверенного CA.
final byte[] getNameConstraints()
Возвращает параметр ограничений имён.
final X509Certificate getTrustedCert()
Возвращает сертификат наиболее доверенного CA.
String toString()
Возвращает форматированную строку с описанием TrustAnchor.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

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
Внешние спецификации
  • RFC 5280: профиль сертификатов инфраструктуры открытых ключей X.509 в Интернете и списков отзыва сертификатов (CRL)

TrustAnchor

public TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)
Создаёт экземпляр TrustAnchor, в котором наиболее доверенный CA задаётся как X500Principal и открытый ключ. Ограничения имён являются необязательным параметром и предназначены для использования в качестве дополнительных ограничений при проверке пути сертификации X.509.

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

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

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

TrustAnchor

public TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints)
Создаёт экземпляр TrustAnchor, в котором наиболее доверенный CA задаётся в виде различительного имени и открытого ключа. Ограничения имён являются необязательным параметром и предназначены для использования в качестве дополнительных ограничений при проверке пути сертификации X.509.

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

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

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

Подробное описание методов

getTrustedCert

public final X509Certificate getTrustedCert()
Возвращает сертификат наиболее доверенного CA.
Возвращает:
доверенный X509Certificate или null, если якорь доверия задан не как доверенный сертификат

getCA

public final X500Principal getCA()
Возвращает имя наиболее доверенного CA в виде X500Principal.
Возвращает:
различительное имя X.500 наиболее доверенного CA или null, если якорь доверия задан не как пара из доверенного открытого ключа и имени или X500Principal
Начиная с:
1.5

getCAName

public final String getCAName()
Возвращает имя наиболее доверенного CA в формате String RFC 2253.
Возвращает:
различительное имя X.500 наиболее доверенного CA или null, если якорь доверия задан не как пара из доверенного открытого ключа и имени или X500Principal

getCAPublicKey

public final PublicKey getCAPublicKey()
Возвращает открытый ключ наиболее доверенного CA.
Возвращает:
открытый ключ наиболее доверенного CA или 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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API