Класс TrustAnchor
public class TrustAnchor extends Object
Этот класс представляет «наиболее надёжный ЦС», используемый в качестве якоря доверия для проверки цепочек сертификации X.509. Наиболее надёжный ЦС включает открытый ключ ЦС, имя ЦС и любые ограничения на набор путей, которые могут быть проверены с помощью этого ключа. Эти параметры могут быть указаны в виде надёжного X509Certificate или в виде отдельных параметров.
Одновременный доступ
Все TrustAnchor объекты должны быть неизменяемыми и потокобезопасными. То есть, несколько потоков могут одновременно вызывать методы, определённые в этом классе, для одного TrustAnchor объекта (или более одного) без каких-либо негативных последствий. Требование, чтобы TrustAnchor объекты были неизменяемыми и потокобезопасными, позволяет передавать их различным частям кода, не беспокоясь о координации доступа. Это требование относится ко всем публичным полям и методам этого класса и к любым добавленным или переопределённым подклассами.
- Since:
- 1.4
- See Also:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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
© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/cert/TrustAnchor.html