Класс 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 используемых для поиска сертификатов и CRL. |
Object |
clone() |
Создаёт копию этого объекта PKIXParameters. |
List<PKIXCertPathChecker> |
getCertPathCheckers() |
Возвращает List проверятелей цепочки сертификатов. |
List<CertStore> |
getCertStores() |
Возвращает неизменяемый List CertStore используемых для поиска сертификатов и CRL. |
Date |
getDate() |
Возвращает время, для которого должна определяться действительность цепочки сертификатов. |
Set<String> |
getInitialPolicies() |
Возвращает неизменяемый Set идентификаторов начальной политики (строки OID), указывая, что любая из этих политик будет приемлемой для пользователя сертификата в целях обработки цепочки сертификатов. |
boolean |
getPolicyQualifiersRejected() |
Получает флаг PolicyQualifiersRejected. |
String |
getSigProvider() |
Возвращает имя поставщика подписи или null, если не задано. |
CertSelector |
getTargetCertConstraints() |
Возвращает необходимые ограничения для целевого сертификата. |
Set<TrustAnchor> |
getTrustAnchors() |
Возвращает неизменяемый Set самых надёжных ЦС. |
boolean |
isAnyPolicyInhibited() |
Проверяет, должна ли обрабатываться любая политика OID, если она включена в сертификат. |
boolean |
isExplicitPolicyRequired() |
Проверяет, требуется ли явная политика. |
boolean |
isPolicyMappingInhibited() |
Проверяет, запрещена ли сопоставление политик. |
boolean |
isRevocationEnabled() |
Проверяет флаг RevocationEnabled. |
void |
setAnyPolicyInhibited |
Устанавливает состояние, определяющее, должна ли обрабатываться любая политика OID, если она включена в сертификат. |
void |
setCertPathCheckers |
Устанавливает List дополнительных проверятелей цепочки сертификатов. |
void |
setCertStores |
Устанавливает список CertStore для поиска сертификатов и CRL. |
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- если указанныйSetnull -
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- если указанныйSetnull -
ClassCastException- если любой из элементов в наборе не является экземпляромjava.security.cert.TrustAnchor - См. также:
getInitialPolicies
public Set<String> getInitialPolicies()
Set идентификаторов начальных политик (строки OID), указывающих, что любой из этих политик был бы приемлемым для пользователя сертификата в целях обработки пути сертификации. Значение по умолчанию — пустой Set, что означает, что любая политика приемлема.- Возвращает:
- неизменяемый
Setначальных OID политик в форматеString, или пустойSet(что подразумевает приемлемость любой политики). Никогда не возвращаетnull. - См. также:
setInitialPolicies
public void setInitialPolicies(Set<String> initialPolicies)
Set идентификаторов начальных политик (строки OID), указывающих, что любая из этих политик была бы приемлема для пользователя сертификата в целях обработки пути сертификации. По умолчанию любая политика приемлема (т.е. все политики), поэтому пользователю, который хочет разрешить любую политику, не нужно вызывать этот метод, или он может вызвать его с пустым Set (или null). Обратите внимание, что Set копируется для защиты от последующих изменений.
- Параметры:
-
initialPolicies-Setначальных OID политик в формате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)
При создании объекта PKIXParameters, этот флаг устанавливается в true. Это отражает наиболее распространённую стратегию проверки отзыва, так как каждый поставщик сервиса должен поддерживать проверку отзыва для соответствия стандарту PKIX. Сложные приложения должны установить этот флаг в false, когда использование механизма проверки отзыва по умолчанию базового поставщика PKIX непрактично или когда будет использоваться альтернативный механизм проверки отзыва (также вызывая методы addCertPathChecker или setCertPathCheckers).
- Параметры:
-
val- новое значение флага RevocationEnabled
isRevocationEnabled
public boolean isRevocationEnabled()
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).- Parameters:
-
val-trueесли идентификатор объекта политики any нужно заблокировать,falseв противном случае
isAnyPolicyInhibited
public boolean isAnyPolicyInhibited()
- Returns:
-
trueесли идентификатор объекта политики any заблокирован,falseв противном случае
setPolicyQualifiersRejected
public void setPolicyQualifiersRejected(boolean qualifiersRejected)
При создании объекта PKIXParameters, этот флаг установлен в true. Это значение отражает наиболее распространённую (и простую) стратегию обработки квалификаторов политики. Приложения, которые хотят использовать более сложную политику, должны установить этот флаг в false.
Обратите внимание, что алгоритм проверки цепочки сертификатов PKIX определяет, что любой квалификатор политики в расширении certificate policies сертификата, помеченный как критический, должен быть обработан и проверен. В противном случае цепочка сертификатов должна быть отклонена. Если флаг policyQualifiersRejected установлен в false, приложение должно валидировать все квалификаторы политики таким образом, чтобы соответствовать PKIX.
- Parameters:
-
qualifiersRejected- новое значение флага PolicyQualifiersRejected - See Also:
getPolicyQualifiersRejected
public boolean getPolicyQualifiersRejected()
При создании объекта PKIXParameters, этот флаг установлен в true. Это значение отражает наиболее распространённую (и простую) стратегию обработки квалификаторов политики. Приложения, которые хотят использовать более сложную политику, должны установить этот флаг в false.
- Returns:
- текущее значение флага PolicyQualifiersRejected
- See Also:
getDate
public Date getDate()
null, используется текущее время. Обратите внимание, что возвращаемый Date скопирован для защиты от последующих изменений.
- Returns:
- дата и время, или
nullесли не установлена - See Also:
setDate
public void setDate(Date date)
null, используется текущее время. Обратите внимание, что Date предоставленный здесь, скопирован для защиты от последующих изменений.
- Parameters:
-
date- дата и время, илиnullдля текущего времени - See Also:
setCertPathCheckers
public void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
List содержит объект, который не является PKIXCertPathChecker, он игнорируется. Каждый PKIXCertPathChecker реализует дополнительные проверки сертификата. Обычно это проверки для обработки и проверки закрытых расширений, содержащихся в сертификатах. Каждый PKIXCertPathChecker должен быть инициализирован необходимыми параметрами для выполнения проверки.
Этот метод позволяет сложным приложениям расширить PKIX CertPathValidator или CertPathBuilder. Каждый из указанных PKIXCertPathChecker будет вызван, по очереди, PKIX CertPathValidator или CertPathBuilder для каждого обрабатываемого или проверяемого сертификата.
Независимо от того, установлены ли эти дополнительные PKIXCertPathCheckerы, PKIX CertPathValidator или CertPathBuilder должны выполнить все необходимые проверки PKIX для каждого сертификата. Единственное исключение из этого правила - если флаг RevocationEnabled установлен в false (см. метод setRevocationEnabled).
Обратите внимание, что List предоставленный здесь, скопирован, и каждый PKIXCertPathChecker в списке клонируется для защиты от последующих изменений.
- Parameters:
-
checkers- списокListPKIXCertPathChecker. Может бытьnull, в этом случае дополнительные проверки не будут использоваться. - Throws:
-
ClassCastException- если какой-либо элемент в списке не является объектом типаjava.security.cert.PKIXCertPathChecker - See Also:
getCertPathCheckers
public List<PKIXCertPathChecker> getCertPathCheckers()
List является неизменяемым, и каждый PKIXCertPathChecker в List клонируется для защиты от последующих изменений.- Returns:
- неизменяемый список
ListPKIXCertPathChecker(может быть пустым, но неnull) - See Also:
addCertPathChecker
public void addCertPathChecker(PKIXCertPathChecker checker)
PKIXCertPathChecker в список проверяющих цепочки сертификатов. Подробнее см. метод setCertPathCheckers. Обратите внимание, что PKIXCertPathChecker клонируется для защиты от последующих изменений.
- Parameters:
-
checker-PKIXCertPathCheckerдля добавления в список проверок. Еслиnull, проверка игнорируется (не добавляется в список).
getSigProvider
public String getSigProvider()
null если не задано.- Returns:
- имя поставщика подписей (или
null) - See Also:
setSigProvider
public void setSigProvider(String sigProvider)
Signature. Если null или не задано, будет использован первый найденный поставщик, поддерживающий алгоритм.- Parameters:
-
sigProvider- имя поставщика подписей (илиnull) - See Also:
getTargetCertConstraints
public CertSelector getTargetCertConstraints()
CertSelector. Если null, ограничения не определены. Обратите внимание, что возвращаемый CertSelector клонируется для защиты от последующих изменений.
- Returns:
- объект
CertSelector, определяющий ограничения целевого сертификата (илиnull) - See Also:
setTargetCertConstraints
public void setTargetCertConstraints(CertSelector selector)
CertSelector. Если null, ограничения не определены. Обратите внимание, что CertSelector указанный здесь, клонируется для защиты от последующих изменений.
- Parameters:
-
selector- объектCertSelector, определяющий ограничения целевого сертификата (илиnull) - See Also:
clone
public Object clone()
PKIXParameters . Изменения в копии не повлияют на оригинал и наоборот.- Specified by:
-
cloneв интерфейсеCertPathParameters - Overrides:
-
cloneв классеObject - Returns:
- копия объекта
PKIXParameters - See Also:
toString
public String toString()
- Overrides:
-
toStringв классеObject - Возвращает:
- отформатированную строку, описывающую параметры.
© 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/PKIXParameters.html