Класс TrustAnchor
public class TrustAnchor extends Object
Этот класс представляет «наиболее надёжный ЦС», который используется в качестве якоря доверия для проверки цепочек сертификации X.509. Наиболее надёжный ЦС включает открытый ключ ЦС, имя ЦС и любые ограничения на множество путей, которые могут быть проверены с помощью этого ключа. Эти параметры могут быть указаны в виде надёжного X509Certificate или как отдельные параметры.
Одновременный доступ
Все TrustAnchor объекты должны быть неизменяемыми и потокобезопасными. Это означает, что несколько потоков могут одновременно вызывать методы, определённые в этом классе, в отношении одного TrustAnchor объекта (или более одного) без негативных последствий. Требование, чтобы TrustAnchor объекты были неизменяемыми и потокобезопасными, позволяет передавать их различным частям кода, не беспокоясь о координации доступа. Это условие распространяется на все открытые поля и методы этого класса и любые добавленные или переопределённые подклассами.
- С:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TrustAnchor |
Создаёт экземпляр TrustAnchor, где наиболее надёжный ЦС указан как отличительное имя и открытый ключ. |
TrustAnchor |
Создаёт экземпляр TrustAnchor с указанным X509Certificate и необязательными ограничениями на имена, которые предназначены для использования в качестве дополнительных ограничений при проверке пути сертификации X.509. |
TrustAnchor |
Создаёт экземпляр TrustAnchor, где наиболее надёжный ЦС указан как X500Principal и открытый ключ. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final X500Principal |
getCA() |
Возвращает имя наиболее надёжного ЦС в виде X500Principal. |
final String |
getCAName() |
Возвращает имя наиболее надёжного ЦС в формате RFC 2253 String. |
final PublicKey |
getCAPublicKey() |
Возвращает открытый ключ наиболее надёжного ЦС. |
final byte[] |
getNameConstraints() |
Возвращает параметр ограничений на имена. |
final X509Certificate |
getTrustedCert() |
Возвращает сертификат наиболее надёжного ЦС. |
String |
toString() |
Возвращает отформатированную строку, описывающую TrustAnchor. |
Подробное описание конструкторов
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 2253String -
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()
- Возвращает:
- полное имя X.500 наиболее надёного ЦС или
null, если якорь доверия не был задан как пара надёжного открытого ключа и имени или X500Principal - С:
- 1.5
getCAName
public final String getCAName()
String.- Возвращает:
- полное имя X.500 наиболее надёного ЦС или
null, если якорь доверия не был задан как пара надёжного открытого ключа и имени или X500Principal
getCAPublicKey
public final PublicKey getCAPublicKey()
- Возвращает:
- открытый ключ наиболее надёного ЦС или
null, если якорь доверия не был задан как пара надёжного открытого ключа и имени или X500Principal
getNameConstraints
public final byte[] getNameConstraints()
Ограничения на имена возвращаются как массив байтов. Этот массив байтов содержит 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, 2023, 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/21/docs/api/java.base/java/security/cert/TrustAnchor.html