Класс PKIXParameters
- Все реализуемые интерфейсы:
-
Cloneable,CertPathParameters
- Непосредственные известные подклассы:
PKIXBuilderParameters
public class PKIXParameters extends Object implements CertPathParameters
CertPathValidator. Объект PKIX CertPathValidator использует эти параметры для проверки сертификата в соответствии с алгоритмом валидации цепочки сертификатов PKIX.
Для создания объекта PKIXParameters приложение должно указать один или несколько наиболее доверенных ЦС, как определено алгоритмом валидации цепочки сертификатов PKIX. Наиболее доверенные ЦС можно указать, используя один из двух конструкторов. Приложение может вызвать PKIXParameters(Set), указав набор объектов Set, каждый из которых идентифицирует наиболее доверенный ЦС. В качестве альтернативы, приложение может вызвать PKIXParameters(KeyStore), указав экземпляр KeyStore, содержащий записи доверенных сертификатов, каждый из которых будет рассматриваться как наиболее доверенный ЦС.
После создания объекта PKIXParameters, другие параметры могут быть заданы (например, вызовом setInitialPolicies или setDate), а затем объект PKIXParameters передаётся вместе с проверяемым CertPath в метод CertPathValidator.validate.
Любой параметр, который не задан (или задан в значение null), будет установлен в значение по умолчанию для этого параметра. Значением по умолчанию для параметра date является null, что соответствует текущему времени при проверке пути. Значение по умолчанию для остальных параметров — наименее ограниченное.
Доступность в нескольких потоках
Если не указано иное, методы, определенные в этом классе, не являются потокобезопасными. Несколько потоков, которые нуждаются в одновременном доступе к одному объекту, должны синхронизироваться между собой и обеспечить необходимую блокировку. Несколько потоков, каждый из которых манипулирует различными объектами, не должны синхронизироваться.
- Since:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PKIXParameters |
Создаёт экземпляр PKIXParameters, заполняя набор наиболее доверенных ЦС записями доверенных сертификатов, содержащихся в указанном KeyStore. |
PKIXParameters |
Создаёт экземпляр PKIXParameters с указанным Set наиболее доверенных ЦС. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addCertPathChecker |
Добавляет PKIXCertPathChecker в список проверяющих цепочки сертификатов. |
void |
addCertStore |
Добавляет CertStore в конец списка CertStore, используемых при поиске сертификатов и CRL. |
Object |
clone() |
Создаёт копию этого объекта PKIXParameters. |
List |
getCertPathCheckers() |
Возвращает List проверяющих цепочки сертификатов. |
List |
getCertStores() |
Возвращает неизменяемый List CertStore, используемых для поиска сертификатов и CRL. |
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 для поиска сертификатов и 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 с указанным набором наиболее надёжных ЦС. Каждый элемент набора — это 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- хранилище ключей, из которого будет заполнен набор наиболее надёжных ЦС - Исключения:
-
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- набор начальных 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)
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в противном случае
Установить запрет на сопоставление политик
public void setPolicyMappingInhibited(boolean val)
- Параметры:
-
val-true, если требуется запретить сопоставление политик,falseв противном случае
Проверить запрет на сопоставление политик
public boolean isPolicyMappingInhibited()
- Возвращает:
- true, если сопоставление политик запрещено, false в противном случае
Установить запрет на обработку любого OID политики
public void setAnyPolicyInhibited(boolean val)
isAnyPolicyInhibited() возвращает false).- Параметры:
-
val-true, если требуется запретить OID любой политики,falseв противном случае
Проверить запрет на обработку любого OID политики
public boolean isAnyPolicyInhibited()
- Возвращает:
-
true, если OID любой политики запрещён,falseв противном случае
Установить запрет на отклонение квалификаторов политики
public void setPolicyQualifiersRejected(boolean qualifiersRejected)
При создании объекта PKIXParameters этот флаг устанавливается в значение true. Это значение отражает наиболее распространённую (и простейшую) стратегию обработки квалификаторов политики. Приложения, желающие использовать более сложную политику, должны установить этот флаг в значение false.
Обратите внимание, что алгоритм проверки цепочки сертификации PKIX указывает на то, что любой квалификатор политики в расширении политики сертификата, помеченном как критический, должен быть обработан и проверен. В противном случае цепочка сертификации должна быть отклонена. Если флаг policyQualifiersRejected установлен в значение false, приложение должно самостоятельно проверить все квалификаторы политики таким образом, чтобы соответствовать PKIX.
- Параметры:
-
qualifiersRejected- новое значение флага PolicyQualifiersRejected - См. также:
Получить флаг запрета на квалификаторы политики
public boolean getPolicyQualifiersRejected()
При создании объекта PKIXParameters этот флаг устанавливается в значение true. Это значение отражает наиболее распространённую (и простейшую) стратегию обработки квалификаторов политики. Приложения, желающие использовать более сложную политику, должны установить этот флаг в значение false.
- Возвращает:
- текущее значение флага PolicyQualifiersRejected
- См. также:
Получить дату
public Date getDate()
null, используется текущее время. Обратите внимание, что возвращаемая Date скопирована для защиты от последующих изменений.
- Возвращает:
- установленную
Dateилиnull, если не задано - См. также:
Установить дату
public void setDate(Date date)
null, используется текущее время. Обратите внимание, что предоставленная здесь Date скопирована для защиты от последующих изменений.
- Параметры:
-
date-Dateилиnullдля текущего времени - См. также:
Установить дополнительные проверки цепочки сертификатов
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 в списке клонирован для защиты от последующих изменений.
- Параметры:
-
checkers- списокListPKIXCertPathChecker. Может бытьnull, в этом случае дополнительные проверки не будут использоваться. - Исключения:
-
ClassCastException- если любой элемент списка не является объектом типаjava.security.cert.PKIXCertPathChecker - См. также:
Получить дополнительные проверки цепочки сертификатов
public List<PKIXCertPathChecker> getCertPathCheckers()
- Возвращает:
- неизменяемый список
ListPKIXCertPathChecker(может быть пустым, но неnull) - См. также:
Добавить проверку цепочки сертификатов
public void addCertPathChecker(PKIXCertPathChecker checker)
PKIXCertPathChecker в список проверочных средств цепочки сертификатов. См. метод setCertPathCheckers для получения подробной информации. Обратите внимание, что PKIXCertPathChecker клонируется для защиты от последующих изменений.
- Параметры:
-
checker-PKIXCertPathCheckerдля добавления в список проверок. Еслиnull, проверка игнорируется (не добавляется в список).
Получить имя поставщика подписи
public String getSigProvider()
null, если не задано.- Возвращает:
- имя поставщика подписи (или
null) - См. также:
Установить имя поставщика подписи
public void setSigProvider(String sigProvider)
Signature. Если null или не задан, будет использован первый найденный поставщик, поддерживающий алгоритм.- Параметры:
-
sigProvider- имя поставщика подписи (илиnull) - См. также:
Получить ограничения на целевой сертификат
public CertSelector getTargetCertConstraints()
CertSelector. Если null, ограничения не определены. Обратите внимание, что возвращённый CertSelector клонируется для защиты от последующих изменений.
- Возвращает:
- объект
CertSelector, описывающий ограничения на целевой сертификат (илиnull) - См. также:
установитьОграниченияНаСертификатЦели
public void setTargetCertConstraints(CertSelector selector)
CertSelector. Если null, ограничения не определены. Обратите внимание, что указанный CertSelector клонируется для защиты от последующих изменений.
- Параметры:
-
selector-CertSelector, определяющий ограничения на целевой сертификат (илиnull) - См. также:
клонировать
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/cert/PKIXParameters.html