Класс TrustAnchor
- java.lang.Object
-
- java.security.cert.TrustAnchor
public class TrustAnchor extends Object
Якорь доверия или наиболее надёжный центр сертификации (ЦС).
Этот класс представляет "наиболее надёжный ЦС", используемый в качестве якоря доверия для проверки цепочек сертификатов X.509. Наиболее надёжный ЦС включает открытый ключ ЦС, имя ЦС и любые ограничения на набор цепочек, которые могут быть проверены с использованием этого ключа. Эти параметры могут быть указаны в форме доверенного X509Certificate или в виде отдельных параметров.
Одновременный доступ
Все TrustAnchor объекты должны быть неизменяемыми и потокобезопасными. Это означает, что несколько потоков могут одновременно вызывать методы, определённые в этом классе, для одного TrustAnchor объекта (или более одного) без негативных последствий. Требование, чтобы TrustAnchor объекты были неизменяемыми и потокобезопасными, позволяет передавать их различным частям кода, не беспокоясь о координации доступа. Это условие относится ко всем общедоступным полям и методам этого класса и к любым добавленным или переопределённым подклассами.
- Since:
- 1.4
- См. также:
-
PKIXParameters(Set),PKIXBuilderParameters(Set, CertSelector)
Конструкторы
| Конструктор и описание |
|---|
TrustAnchor(String caName,
PublicKey pubKey,
byte[] nameConstraints) Создаёт экземпляр |
TrustAnchor(X500Principal caPrincipal,
PublicKey pubKey,
byte[] nameConstraints) Создаёт экземпляр |
TrustAnchor(X509Certificate trustedCert,
byte[] nameConstraints) Создаёт экземпляр |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
X500Principal |
getCA() Возвращает имя наиболее надёжного ЦС в виде X500Principal. |
String |
getCAName() Возвращает имя наиболее надёжного ЦС в формате RFC 2253 |
PublicKey |
getCAPublicKey() Возвращает открытый ключ наиболее надёжного ЦС. |
byte[] |
getNameConstraints() Возвращает параметр ограничений на имена. |
X509Certificate |
getTrustedCert() Возвращает сертификат наиболее надёжного ЦС. |
String |
toString() Возвращает отформатированную строку, описывающую |
Методы, унаследованные от класса 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 - Since:
- 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- полное доменное имя (FQDN) наиболее надёжного ЦС в формате 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()
Возвращает имя наиболее надёжного ЦС в виде X500Principal.
- Возвращает:
- полное доменное имя (FQDN) наиболее надёжного ЦС, или
nullесли якорь доверия не был задан как пара доверенного открытого ключа и имени или X500Principal - Since:
- 1.5
getCAName
public final String getCAName()
Возвращает имя наиболее надёжного ЦС в формате RFC 2253 String.
- Возвращает:
- полное доменное имя (FQDN) наиболее надёжного ЦС, или
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.
© 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.