Класс 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, 2021, 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/17/docs/api/java.base/java/security/cert/TrustAnchor.html