Класс TrustAnchor
- java.lang.Object
-
- java.security.cert.TrustAnchor
public class TrustAnchor extends Object
Якорь доверия или самый надёжный центр сертификации (ЦС).
Этот класс представляет собой «самый надёжный ЦС», который используется в качестве якоря доверия для проверки цепочек сертификации X.509. Самый надёжный ЦС включает открытый ключ ЦС, имя ЦС и любые ограничения на набор путей, которые могут быть проверены с помощью этого ключа. Эти параметры могут быть указаны в виде надёжного X509Certificate или как отдельные параметры.
Одновременный доступ
Все TrustAnchor объекты должны быть неизменяемыми и потокобезопасными. То есть, несколько потоков могут одновременно вызывать методы, определённые в этом классе, для одного TrustAnchor объекта (или более чем одного) без каких-либо негативных последствий. Требование, чтобы TrustAnchor объекты были неизменяемыми и потокобезопасными, позволяет передавать их различным частям кода, не беспокоясь о координации доступа. Это требование относится ко всем общедоступным полям и методам этого класса и любым добавленным или переопределённым подклассами.
- С момента:
- 1.4
- См. также:
-
PKIXParameters(Set),PKIXBuilderParameters(Set, CertSelector)
Конструкторы
| Конструктор | Описание |
|---|---|
TrustAnchor(String caName,
PublicKey pubKey,
byte[] nameConstraints) |
Создаёт экземпляр |
TrustAnchor(X509Certificate trustedCert,
byte[] nameConstraints) |
Создаёт экземпляр |
TrustAnchor(X500Principal caPrincipal,
PublicKey pubKey,
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 - С момента:
- 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()
Возвращает имя самого надёжного ЦС как X500Principal.
- Возвращает:
- отличительное имя X.500 самого надёжного ЦС или
null, если якорь доверия не был задан как пара надёжного открытого ключа и имени или X500Principal - С момента:
- 1.5
getCAName
public final String getCAName()
Возвращает имя самого надёжного ЦС в формате RFC 2253 String.
- Возвращает:
- отличительное имя X.500 самого надёжного ЦС или
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/cert/TrustAnchor.html