Класс PKIXParameters
- Все реализуемые интерфейсы:
Cloneable, CertPathParameters
- Прямые известные подклассы:
PKIXBuilderParameters
public class PKIXParameters extends Object implements CertPathParameters
CertPathValidator. Средство PKIX CertPathValidator использует эти параметры для проверки CertPath в соответствии с алгоритмом проверки цепочки сертификации PKIX.
Для создания объекта PKIXParameters приложение должно указать один или несколько наиболее доверенных центров сертификации, определённых алгоритмом проверки цепочки сертификации PKIX. Наиболее доверенные центры сертификации можно указать с помощью одного из двух конструкторов. Приложение может вызвать PKIXParameters(Set), указав Set объектов TrustAnchor, каждый из которых идентифицирует наиболее доверенный центр сертификации. Кроме того, приложение может вызвать PKIXParameters(KeyStore), указав экземпляр KeyStore, содержащий доверенные записи сертификатов, каждая из которых будет считаться наиболее доверенным центром сертификации.
После создания объекта PKIXParameters можно указать другие параметры (например, вызвав setInitialPolicies или setDate), а затем передать PKIXParameters вместе с проверяемой CertPath методу CertPathValidator.validate.
Любой не заданный параметр (или параметр, установленный в null) будет иметь значение по умолчанию. Значение параметра date по умолчанию — null, что означает текущее время на момент проверки цепочки. Для остальных параметров по умолчанию используются наименее ограничительные значения.
Параллельный доступ
Если не указано иное, методы, определённые в этом классе, не являются потокобезопасными. Потоки, которым необходимо одновременно обращаться к одному объекту, должны синхронизировать свою работу и обеспечивать необходимую блокировку. Потокам, каждый из которых работает с отдельным объектом, синхронизация не требуется.
- Начиная с:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PKIXParameters |
Создаёт экземпляр PKIXParameters, заполняя набор наиболее доверенных центров сертификации доверенными записями сертификатов, содержащимися в указанном KeyStore. |
PKIXParameters |
Создаёт экземпляр PKIXParameters с указанным Set наиболее доверенных центров сертификации. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addCertPathChecker |
Добавляет PKIXCertPathChecker в список средств проверки цепочки сертификации. |
void |
addCertStore |
Добавляет CertStore в конец списка CertStore, используемых для поиска сертификатов и списков отзыва сертификатов. |
Object |
clone() |
Создаёт копию этого объекта PKIXParameters. |
List |
getCertPathCheckers() |
Возвращает List средств проверки цепочки сертификации. |
List |
getCertStores() |
Возвращает неизменяемый List объектов CertStore, используемых для поиска сертификатов и списков отзыва сертификатов. |
Date |
getDate() |
Возвращает время, на которое следует определить срок действия цепочки сертификации. |
Set |
getInitialPolicies() |
Возвращает неизменяемый Set исходных идентификаторов политик (строк OID), указывающий, что любая из этих политик будет приемлема для пользователя сертификата при обработке цепочки сертификации. |
boolean |
getPolicyQualifiersRejected() |
Возвращает значение флага PolicyQualifiersRejected. |
String |
getSigProvider() |
Возвращает имя поставщика подписи или null, если оно не задано. |
CertSelector |
getTargetCertConstraints() |
Возвращает обязательные ограничения для целевого сертификата. |
Set |
getTrustAnchors() |
Возвращает неизменяемый Set наиболее доверенных центров сертификации. |
boolean |
isAnyPolicyInhibited() |
Проверяет, следует ли обрабатывать OID любой политики, если он включён в сертификат. |
boolean |
isExplicitPolicyRequired() |
Проверяет, требуется ли явная политика. |
boolean |
isPolicyMappingInhibited() |
Проверяет, запрещено ли сопоставление политик. |
boolean |
isRevocationEnabled() |
Проверяет значение флага RevocationEnabled. |
void |
setAnyPolicyInhibited |
Устанавливает состояние, определяющее, следует ли обрабатывать OID любой политики, если он включён в сертификат. |
void |
setCertPathCheckers |
Задаёт List дополнительных средств проверки цепочки сертификации. |
void |
setCertStores |
Задаёт список CertStore, используемых для поиска сертификатов и списков отзыва сертификатов. |
void |
setDate |
Задаёт время, на которое следует определить срок действия цепочки сертификации. |
void |
setExplicitPolicyRequired |
Устанавливает флаг ExplicitPolicyRequired. |
void |
setInitialPolicies |
Задаёт Set исходных идентификаторов политик (строк OID), указывающий, что любая из этих политик будет приемлема для пользователя сертификата при обработке цепочки сертификации. |
void |
setPolicyMappingInhibited |
Устанавливает флаг PolicyMappingInhibited. |
void |
setPolicyQualifiersRejected |
Устанавливает флаг PolicyQualifiersRejected. |
void |
setRevocationEnabled |
Устанавливает флаг RevocationEnabled. |
void |
setSigProvider |
Задаёт имя поставщика подписи. |
void |
setTargetCertConstraints |
Задаёт обязательные ограничения для целевого сертификата. |
void |
setTrustAnchors |
Задаёт Set наиболее доверенных центров сертификации. |
String |
toString() |
Возвращает отформатированную строку с описанием параметров. |
Подробное описание конструкторов
PKIXParameters
public PKIXParameters(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
PKIXParameters с указанным Set наиболее доверенных центров сертификации. Каждый элемент набора является объектом TrustAnchor. Обратите внимание, что Set копируется для защиты от последующих изменений.
- Параметры:
-
trustAnchors—SetTrustAnchorов - Исключения:
-
InvalidAlgorithmParameterException— если указанныйSetпуст(trustAnchors.isEmpty() == true) -
NullPointerException— если указанныйSetравенnull -
ClassCastException— если элементыSetне имеют типjava.security.cert.TrustAnchor
PKIXParameters
public PKIXParameters(KeyStore keystore) throws KeyStoreException, InvalidAlgorithmParameterException
PKIXParameters, заполняющий набор наиболее доверенных центров сертификации на основе записей доверенных сертификатов, содержащихся в указанном KeyStore. Учитываются только записи хранилища ключей, содержащие доверенные X509Certificates; все остальные типы сертификатов игнорируются.- Параметры:
-
keystore—KeyStore, из которого будет заполнен набор наиболее доверенных центров сертификации - Исключения:
-
KeyStoreException— если хранилище ключей не было инициализировано -
InvalidAlgorithmParameterException— если хранилище ключей не содержит ни одной записи доверенного сертификата -
NullPointerException— если хранилище ключей равноnull
Подробное описание методов
getTrustAnchors
public Set<TrustAnchor> getTrustAnchors()
Set наиболее доверенных центров сертификации.- Возвращает:
- неизменяемый
SetTrustAnchorов (никогда неnull) - См. также:
setTrustAnchors
public void setTrustAnchors(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
Set наиболее доверенных центров сертификации. Обратите внимание, что Set копируется для защиты от последующих изменений.
- Параметры:
-
trustAnchors—SetTrustAnchorов - Исключения:
-
InvalidAlgorithmParameterException— если указанныйSetпуст(trustAnchors.isEmpty() == true) -
NullPointerException— если указанныйSetравенnull -
ClassCastException— если элементы набора не имеют типjava.security.cert.TrustAnchor - См. также:
getInitialPolicies
public Set<String> getInitialPolicies()
Set идентификаторов начальных политик (строк OID), указывающий, что любая из этих политик будет приемлема для пользователя сертификата при обработке пути сертификации. По умолчанию возвращается пустой Set, что означает, что приемлема любая политика.- Возвращает:
- неизменяемый
SetOID начальных политик в форматеStringили пустойSet(означающий, что приемлема любая политика). Никогда не возвращаетnull. - См. также:
setInitialPolicies
public void setInitialPolicies(Set<String> initialPolicies)
Set идентификаторов начальных политик (строк OID), указывающий, что любая из этих политик будет приемлема для пользователя сертификата при обработке пути сертификации. По умолчанию приемлема любая политика (то есть все политики), поэтому пользователю, который хочет считать приемлемой любую политику, не нужно вызывать этот метод; также его можно вызвать с пустым Set (или null). Обратите внимание, что Set копируется для защиты от последующих изменений.
- Параметры:
-
initialPolicies—SetOID начальных политик в форматеString(илиnull) - Исключения:
-
ClassCastException— если элементы набора не имеют типString - См. также:
setCertStores
public void setCertStores(List<CertStore> stores)
CertStoreов, используемых для поиска сертификатов и списков отзыва сертификатов (CRL). Может быть null; в этом случае CertStoreы использоваться не будут. Предпочтение может отдаваться CertStoreам, находящимся в начале списка. Обратите внимание, что List копируется для защиты от последующих изменений.
- Параметры:
-
stores—ListCertStoreов (илиnull) - Исключения:
-
ClassCastException— если элементы списка не имеют типjava.security.cert.CertStore - См. также:
addCertStore
public void addCertStore(CertStore store)
CertStore в конец списка CertStoreов, используемых для поиска сертификатов и списков отзыва сертификатов (CRL).- Параметры:
-
store—CertStoreдля добавления. Еслиnull, хранилище игнорируется (не добавляется в список).
getCertStores
public List<CertStore> getCertStores()
List CertStoreов, используемых для поиска сертификатов и списков отзыва сертификатов (CRL).- Возвращает:
- неизменяемый
ListCertStoreов (может быть пустым, но никогда неnull) - См. также:
setRevocationEnabled
public void setRevocationEnabled(boolean val)
PKIXRevocationChecker не передан в качестве CertPathChecker (дополнительные пояснения см. ниже). Если этот флаг имеет значение false, механизм проверки отзыва сертификатов по умолчанию будет отключен (не будет использоваться). При создании объекта PKIXParameters этот флаг устанавливается в true. Такая настройка отражает наиболее распространенную стратегию проверки отзыва сертификатов, поскольку каждый поставщик службы должен поддерживать такую проверку, чтобы соответствовать требованиям PKIX. В сложных приложениях следует задавать этому флагу значение false, если использовать механизм проверки отзыва сертификатов по умолчанию поставщика службы PKIX нецелесообразно или требуется заменить его альтернативным механизмом проверки отзыва (вызвав также методы addCertPathChecker или setCertPathCheckers).
Обратите внимание: если объект PKIXRevocationChecker передан в качестве параметра методам addCertPathChecker или setCertPathCheckers, он будет использоваться для проверки отзыва независимо от значения флага RevocationEnabled.
- Параметры:
-
val— новое значение флага RevocationEnabled
isRevocationEnabled
public boolean isRevocationEnabled()
PKIXRevocationChecker не передан в качестве CertPathChecker. Если этот флаг имеет значение false, механизм проверки отзыва сертификатов по умолчанию будет отключен (не будет использоваться). Дополнительные сведения о задании значения этого флага см. в методе setRevocationEnabled.- Возвращает:
- текущее значение флага RevocationEnabled
setExplicitPolicyRequired
public void setExplicitPolicyRequired(boolean val)
- Параметры:
-
val—true, если требуется явная политика, иfalseв противном случае
isExplicitPolicyRequired
public boolean isExplicitPolicyRequired()
- Возвращает:
-
true, если требуется явная политика, иfalseв противном случае
setPolicyMappingInhibited
public void setPolicyMappingInhibited(boolean val)
- Параметры:
-
val—true, если сопоставление политик требуется запретить, иfalseв противном случае
isPolicyMappingInhibited
public boolean isPolicyMappingInhibited()
- Возвращает:
- true, если сопоставление политик запрещено; в противном случае — false
setAnyPolicyInhibited
public void setAnyPolicyInhibited(boolean val)
isAnyPolicyInhibited() возвращает false).- Параметры:
-
val—true, если OID любой политики требуется запретить, иfalseв противном случае
isAnyPolicyInhibited
public boolean isAnyPolicyInhibited()
- Возвращает:
-
true, если OID любой политики запрещен, иfalseв противном случае
setPolicyQualifiersRejected
public void setPolicyQualifiersRejected(boolean qualifiersRejected)
При создании объекта PKIXParameters этот флаг устанавливается в true. Такая настройка отражает наиболее распространенную (и простую) стратегию обработки квалификаторов политики. Приложениям, использующим более сложную политику, следует задать этому флагу значение false.
Обратите внимание: алгоритм проверки пути сертификации PKIX требует обрабатывать и проверять любые квалификаторы политики в расширении политик сертификата, помеченном как критическое. В противном случае путь сертификации должен быть отклонен. Если флаг policyQualifiersRejected имеет значение false, приложение должно самостоятельно проверить все квалификаторы политики таким образом, чтобы соответствовать требованиям PKIX.
- Параметры:
-
qualifiersRejected— новое значение флага PolicyQualifiersRejected - См. также:
getPolicyQualifiersRejected
public boolean getPolicyQualifiersRejected()
При создании объекта PKIXParameters этот флаг устанавливается в true. Такая настройка отражает наиболее распространенную (и простую) стратегию обработки квалификаторов политики. Приложениям, использующим более сложную политику, следует задать этому флагу значение false.
- Возвращает:
- текущее значение флага PolicyQualifiersRejected
- См. также:
getDate
public Date getDate()
null, используется текущее время. Обратите внимание, что возвращаемое значение Date копируется для защиты от последующих изменений.
- Возвращает:
Dateилиnull, если значение не задано- См. также:
setDate
public void setDate(Date date)
null, используется текущее время. Обратите внимание, что указанное здесь значение Date копируется для защиты от последующих изменений.
- Параметры:
-
date—Dateилиnullдля текущего времени - См. также:
setCertPathCheckers
public void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
List дополнительных средств проверки пути сертификации. Если указанный List содержит объект, не являющийся PKIXCertPathChecker, он игнорируется. Каждый указанный PKIXCertPathChecker выполняет дополнительные проверки сертификата. Как правило, это проверки для обработки и проверки закрытых расширений, содержащихся в сертификатах. Каждый PKIXCertPathChecker следует создавать с параметрами инициализации, необходимыми для выполнения проверки.
Этот метод позволяет сложным приложениям расширять CertPathValidator или CertPathBuilder PKIX. Каждый указанный PKIXCertPathChecker будет поочередно вызываться объектом CertPathValidator или CertPathBuilder PKIX для каждого обрабатываемого или проверяемого сертификата.
Независимо от того, заданы ли эти дополнительные PKIXCertPathCheckerы, объект CertPathValidator или CertPathBuilder PKIX должен выполнять все обязательные проверки PKIX для каждого сертификата. Единственное исключение — если флаг RevocationEnabled имеет значение false (см. метод setRevocationEnabled).
Обратите внимание, что указанный здесь List копируется, а каждый PKIXCertPathChecker в списке клонируется для защиты от последующих изменений.
- Параметры:
-
checkers—ListPKIXCertPathCheckerов. Может бытьnull; в этом случае дополнительные средства проверки использоваться не будут. - Исключения:
-
ClassCastException— если элементы списка не имеют типjava.security.cert.PKIXCertPathChecker - См. также:
getCertPathCheckers
public List<PKIXCertPathChecker> getCertPathCheckers()
List средств проверки пути сертификации. Возвращаемый List является неизменяемым, а каждый PKIXCertPathChecker в List клонируется для защиты от последующих изменений.- Возвращает:
- неизменяемый
ListPKIXCertPathCheckerов (может быть пустым, но неnull) - См. также:
addCertPathChecker
public void addCertPathChecker(PKIXCertPathChecker checker)
PKIXCertPathChecker в список средств проверки пути сертификации. Дополнительные сведения см. в методе setCertPathCheckers. Обратите внимание, что PKIXCertPathChecker клонируется для защиты от последующих изменений.
- Параметры:
-
checker—PKIXCertPathCheckerдля добавления в список проверок. Еслиnull, средство проверки игнорируется (не добавляется в список).
getSigProvider
public String getSigProvider()
null, если оно не задано.- Возвращает:
- имя поставщика службы подписей (или
null) - См. также:
setSigProvider
public void setSigProvider(String sigProvider)
Signature. Если задано значение null или поставщик не указан, будет использоваться первый найденный поставщик, поддерживающий алгоритм.- Параметры:
-
sigProvider— имя поставщика службы подписей (илиnull) - См. также:
getTargetCertConstraints
public CertSelector getTargetCertConstraints()
CertSelector. Если null, ограничения не заданы. Обратите внимание, что возвращаемое значение CertSelector клонируется для защиты от последующих изменений.
- Возвращает:
CertSelector, задающий ограничения для целевого сертификата (илиnull)- См. также:
setTargetCertConstraints
public void setTargetCertConstraints(CertSelector selector)
CertSelector. Если null, ограничения не заданы. Обратите внимание, что указанный объект CertSelector клонируется для защиты от последующих изменений.
- Параметры:
-
selector—CertSelector, задающий ограничения для целевого сертификата (илиnull) - См. также:
clone
public Object clone()
PKIXParameters. Изменения копии не влияют на оригинал, и наоборот.- Указано в:
-
cloneв интерфейсеCertPathParameters - Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого объекта
PKIXParameters - См. также:
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/cert/PKIXParameters.html