Класс PKIXParameters
- java.lang.Object
-
- java.security.cert.PKIXParameters
- Все реализованные интерфейсы:
-
Cloneable,CertPathParameters
- Прямые известные подклассы:
PKIXBuilderParameters
public class PKIXParameters extends Object implements CertPathParameters
Параметры, используемые в качестве входных данных для алгоритма PKIX 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
- См. также:
CertPathValidator
Конструкторы
| Конструктор | Описание |
|---|---|
PKIXParameters(KeyStore keystore) | Создает экземпляр |
PKIXParameters(Set<TrustAnchor> trustAnchors) | Создает экземпляр |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | addCertPathChecker(PKIXCertPathChecker checker) | Добавляет |
void | addCertStore(CertStore store) | Добавляет |
Object | clone() | Создает копию этого объекта |
List<PKIXCertPathChecker> | getCertPathCheckers() | Возвращает |
List<CertStore> | getCertStores() | Возвращает неизменяемый набор |
Date | getDate() | Возвращает время, для которого должна быть определена действительность цепочки сертификатов. |
Set<String> | getInitialPolicies() | Возвращает неизменяемый набор идентификаторов начальной политики (строки OID), указывающие, что любая из этих политик будет приемлемой для пользователя сертификата для целей обработки цепочки сертификатов. |
boolean | getPolicyQualifiersRejected() | Получает флаг PolicyQualifiersRejected. |
String | getSigProvider() | Возвращает имя поставщика подписей или |
CertSelector | getTargetCertConstraints() | Возвращает необходимые ограничения для целевого сертификата. |
Set<TrustAnchor> | getTrustAnchors() | Возвращает неизменяемый набор наиболее доверенных ЦС. |
boolean | isAnyPolicyInhibited() | Проверяет, должен ли обрабатываться любой идентификатор политики OID, если он включен в сертификат. |
boolean | isExplicitPolicyRequired() | Проверяет, требуется ли явная политика. |
boolean | isPolicyMappingInhibited() | Проверяет, запрещена ли сопоставление политик. |
boolean | isRevocationEnabled() | Проверяет флаг RevocationEnabled. |
void | setAnyPolicyInhibited(boolean val) | Устанавливает состояние для определения, должен ли обрабатываться любой идентификатор политики OID, если он включен в сертификат. |
void | setCertPathCheckers(List<PKIXCertPathChecker> checkers) | Устанавливает набор дополнительных проверяющих цепочки сертификатов. |
void | setCertStores(List<CertStore> stores) | Устанавливает список |
void | setDate(Date date) | Устанавливает время, для которого должна быть определена действительность цепочки сертификатов. |
void | setExplicitPolicyRequired(boolean val) | Устанавливает флаг ExplicitPolicyRequired. |
void | setInitialPolicies(Set<String> initialPolicies) | Устанавливает набор идентификаторов начальной политики (строки OID), указывающие, что любая из этих политик будет приемлемой для пользователя сертификата для целей обработки цепочки сертификатов. |
void | setPolicyMappingInhibited(boolean val) | Устанавливает флаг PolicyMappingInhibited. |
void | setPolicyQualifiersRejected(boolean qualifiersRejected) | Устанавливает флаг PolicyQualifiersRejected. |
void | setRevocationEnabled(boolean val) | Устанавливает флаг RevocationEnabled. |
void | setSigProvider(String sigProvider) | Устанавливает имя поставщика подписей. |
void | setTargetCertConstraints(CertSelector selector) | Устанавливает необходимые ограничения для целевого сертификата. |
void | setTrustAnchors(Set<TrustAnchor> trustAnchors) | Устанавливает набор наиболее доверенных ЦС. |
String | toString() | Возвращает отформатированную строку, описывающую параметры. |
Методы, объявленные в классе java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Конструкторы
PKIXParameters
public PKIXParameters(Set<TrustAnchor> trustAnchors)
throws InvalidAlgorithmParameterException Создает экземпляр PKIXParameters с заданным набором Set наиболее доверенных ЦС. Каждый элемент набора является объектом TrustAnchor.
Обратите внимание, что набор Set копируется для защиты от последующих изменений.
- Параметры:
-
trustAnchors- наборSetобъектовTrustAnchor - Исключения:
-
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- хранилище ключей, из которого будет заполнен набор наиболее доверенных ЦС - Исключения:
-
KeyStoreException- если хранилище ключей не было инициализировано -
InvalidAlgorithmParameterException- если хранилище ключей не содержит ни одной записи доверенного сертификата -
NullPointerException- если хранилище ключейnull
Методы
getTrustAnchors
public Set<TrustAnchor> getTrustAnchors()
Возвращает неизменяемый Set наиболее надёжных ЦС.
- Возвращает:
- неизменяемый
SetTrustAnchor(никогдаnull) - См. также:
setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>)
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 - См. также:
getTrustAnchors()
getInitialPolicies
public Set<String> getInitialPolicies()
Возвращает неизменяемый Set идентификаторов начальных политик (строки OID), указывающих, что любая из этих политик будет приемлема для пользователя сертификата в целях обработки пути сертификации. Значение по умолчанию — пустой Set, что интерпретируется как приемлемость любой политики.
- Возвращает:
- неизменяемый
Setначальных OID политик в форматеString, или пустойSet(что подразумевает приемлемость любой политики). Никогда не возвращаетnull. - См. также:
setInitialPolicies(java.util.Set<java.lang.String>)
setInitialPolicies
public void setInitialPolicies(Set<String> initialPolicies)
Устанавливает Set идентификаторов начальных политик (строки OID), указывающих, что любая из этих политик будет приемлема для пользователя сертификата в целях обработки пути сертификации. По умолчанию любая политика приемлема (т.е. все политики), поэтому пользователю, желающему принять любую политику, не нужно вызывать этот метод, или он может вызвать его с пустым Set (или null).
Обратите внимание, что Set копируется для защиты от последующих изменений.
- Параметры:
-
initialPolicies-Setначальных OID политик в форматеString(илиnull) - Исключения:
-
ClassCastException- если любой из элементов в наборе не являетсяString - См. также:
getInitialPolicies()
setCertStores
public void setCertStores(List<CertStore> stores)
Устанавливает список CertStore для поиска сертификатов и CRL. Может быть null, в этом случае не будут использоваться CertStore. Первые CertStore в списке могут иметь приоритет перед теми, что появляются позже.
Обратите внимание, что List копируется для защиты от последующих изменений.
- Параметры:
-
stores-ListCertStore(илиnull) - Исключения:
-
ClassCastException- если любой из элементов в списке не являетсяjava.security.cert.CertStore - См. также:
getCertStores()
addCertStore
public void addCertStore(CertStore store)
Добавляет CertStore в конец списка CertStore для поиска сертификатов и CRL.
- Параметры:
-
store- добавляемыйCertStore. Еслиnull, хранилище игнорируется (не добавляется в список).
getCertStores
public List<CertStore> getCertStores()
Возвращает неизменяемый List CertStore для поиска сертификатов и CRL.
- Возвращает:
- неизменяемый
ListCertStore(может быть пустым, но никогдаnull) - См. также:
setCertStores(java.util.List<java.security.cert.CertStore>)
setRevocationEnabled
public void setRevocationEnabled(boolean val)
Устанавливает флаг RevocationEnabled. Если этот флаг true, используется механизм проверки отзыва по умолчанию для базового поставщика услуг PKIX. Если false, проверка отзыва по умолчанию отключена.
При создании объекта PKIXParameters, этот флаг установлен в true. Это отражает наиболее распространённую стратегию проверки отзыва, поскольку каждый поставщик услуг должен поддерживать проверку отзыва для соответствия PKIX. Сложные приложения должны установить этот флаг в false, когда использование механизма проверки отзыва по умолчанию поставщика услуг PKIX нецелесообразно или когда используется альтернативный механизм проверки отзыва (также вызвав методы addCertPathChecker или setCertPathCheckers).
- Параметры:
-
val- новое значение флага RevocationEnabled
isRevocationEnabled
public boolean isRevocationEnabled()
Проверяет флаг RevocationEnabled. Если этот флаг true, используется механизм проверки отзыва по умолчанию для базового поставщика услуг PKIX. Если false, проверка отзыва по умолчанию отключена. См. метод setRevocationEnabled для получения дополнительной информации об установке значения этого флага.
- Возвращает:
- текущее значение флага RevocationEnabled
setExplicitPolicyRequired
public void setExplicitPolicyRequired(boolean val)
Устанавливает флаг ExplicitPolicyRequired. Если этот флаг true, приемлемая политика должна быть явно указана в каждом сертификате. По умолчанию флаг ExplicitPolicyRequired равен false.
- Параметры:
-
val-trueесли явную политику требуется,falseв противном случае
isExplicitPolicyRequired
public boolean isExplicitPolicyRequired()
Проверяет, требуется ли явная политика. Если этот флаг true, приемлемая политика должна быть явно указана в каждом сертификате. По умолчанию флаг ExplicitPolicyRequired равен false.
- Возвращает:
-
trueесли явная политика требуется,falseв противном случае
setPolicyMappingInhibited
public void setPolicyMappingInhibited(boolean val)
Устанавливает флаг PolicyMappingInhibited. Если этот флаг true, отображение политик запрещено. По умолчанию отображение политик не запрещено (флаг false).
- Параметры:
-
val-trueесли отображение политик должно быть запрещено,falseв противном случае
isPolicyMappingInhibited
public boolean isPolicyMappingInhibited()
Проверяет, запрещено ли отображение политик. Если этот флаг true, отображение политик запрещено. По умолчанию отображение политик не запрещено (флаг false).
- Возвращает:
- true, если отображение политик запрещено, false в противном случае
setAnyPolicyInhibited
public void setAnyPolicyInhibited(boolean val)
Устанавливает состояние, определяющее, должна ли обрабатываться политика "любая" OID, если она включена в сертификат. По умолчанию политика "любая" OID не запрещена (isAnyPolicyInhibited() возвращает false).
- Параметры:
-
val-trueесли политика "любая" OID должна быть запрещена,falseв противном случае
isAnyPolicyInhibited
public boolean isAnyPolicyInhibited()
Проверяет, должна ли обрабатываться политика "любая" OID, если она включена в сертификат.
- Возвращает:
-
trueесли политика "любая" OID запрещена,falseв противном случае
setPolicyQualifiersRejected
public void setPolicyQualifiersRejected(boolean qualifiersRejected)
Устанавливает флаг PolicyQualifiersRejected. Если этот флаг true, сертификаты, содержащие квалификаторы политики в расширении политик сертификата, отмеченные как критические, отклоняются. Если флаг false, сертификаты не отклоняются по этому основанию.
При создании объекта PKIXParameters, этот флаг установлен в true. Это отражает наиболее распространённую (и простую) стратегию обработки квалификаторов политики. Приложения, которые хотят использовать более сложную политику, должны установить этот флаг в false.
Обратите внимание, что алгоритм проверки пути сертификации PKIX определяет, что любой квалификатор политики в расширении политик сертификата, помеченный как критический, должен быть обработан и проверен. В противном случае путь сертификации должен быть отклонен. Если флаг policyQualifiersRejected установлен в false, приложение должно проверить все квалификаторы политики таким образом, чтобы соответствовать PKIX.
- Параметры:
-
qualifiersRejected- новое значение флага PolicyQualifiersRejected - См. также:
-
getPolicyQualifiersRejected(),PolicyQualifierInfo
getPolicyQualifiersRejected
public boolean getPolicyQualifiersRejected()
Получает флаг PolicyQualifiersRejected. Если этот флаг true, сертификаты, содержащие квалификаторы политики в расширении политик сертификата, отмеченные как критические, отклоняются. Если флаг false, сертификаты не отклоняются по этому основанию.
При создании объекта PKIXParameters, этот флаг установлен в true. Это отражает наиболее распространённую (и простую) стратегию обработки квалификаторов политики. Приложения, которые хотят использовать более сложную политику, должны установить этот флаг в false.
- Возвращает:
- текущее значение флага PolicyQualifiersRejected
- См. также:
setPolicyQualifiersRejected(boolean)
getDate
public Date getDate()
Возвращает время, для которого должна быть определена действительность пути сертификации. Если null, используется текущее время.
Обратите внимание, что возвращаемый Date копируется для защиты от последующих изменений.
- Возвращает:
- дата и время, или
nullесли не установлено - См. также:
setDate(java.util.Date)
setDate
public void setDate(Date date)
Устанавливает время, для которого должна определяться действительность сертификационного пути. Если null, используется текущее время.
Обратите внимание, что Date предоставленный здесь, копируется для защиты от последующих изменений.
- Parameters:
-
date- времяDate, илиnullдля текущего времени - See Also:
getDate()
setCertPathCheckers
public void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
Устанавливает List дополнительных проверяющих сертификационные пути. Если указанный List содержит объект, который не является PKIXCertPathChecker, он игнорируется.
Каждый PKIXCertPathChecker указанный в списке, реализует дополнительные проверки сертификата. Обычно это проверки для обработки и проверки частных расширений, содержащихся в сертификатах. Каждый PKIXCertPathChecker должен быть инициализирован с необходимыми параметрами для выполнения проверки.
Этот метод позволяет сложным приложениям расширить PKIX CertPathValidator или CertPathBuilder. Каждый из указанных PKIXCertPathChecker будет вызван по очереди PKIX CertPathValidator или CertPathBuilder для каждого обрабатываемого или проверяемого сертификата.
Независимо от того, установлены ли эти дополнительные PKIXCertPathChecker или нет, PKIX CertPathValidator или CertPathBuilder должен выполнить все необходимые PKIX проверки для каждого сертификата. Исключением из этого правила является тот случай, когда флаг RevocationEnabled установлен в значение false (см. метод setRevocationEnabled).
Обратите внимание, что List предоставленный здесь, копируется, и каждый PKIXCertPathChecker в списке клонируется для защиты от последующих изменений.
- Parameters:
-
checkers- aListизPKIXCertPathChecker. Может бытьnull, в этом случае дополнительные проверки не будут использоваться. - Throws:
-
ClassCastException- если любой из элементов в списке не является объектом типаjava.security.cert.PKIXCertPathChecker - See Also:
getCertPathCheckers()
getCertPathCheckers
public List<PKIXCertPathChecker> getCertPathCheckers()
Возвращает List проверяющих сертификационные пути. Возвращаемый List неизменяемый, и каждый PKIXCertPathChecker в List клонируется для защиты от последующих изменений.
- Returns:
- неизменяемый
ListPKIXCertPathChecker(может быть пустым, но неnull) - See Also:
setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>)
addCertPathChecker
public void addCertPathChecker(PKIXCertPathChecker checker)
Добавляет PKIXCertPathChecker в список проверяющих сертификационные пути. Смотрите метод setCertPathCheckers для получения более подробной информации.
Обратите внимание, что PKIXCertPathChecker клонируется для защиты от последующих изменений.
- Parameters:
-
checker- aPKIXCertPathCheckerдля добавления в список проверок. Еслиnull, проверщик игнорируется (не добавляется в список).
getSigProvider
public String getSigProvider()
Возвращает имя поставщика подписи или null, если не установлено.
- Returns:
- имя поставщика подписи (или
null) - See Also:
setSigProvider(java.lang.String)
setSigProvider
public void setSigProvider(String sigProvider)
Устанавливает имя поставщика подписи. Указанный поставщик будет предпочтительным при создании объектов Signature. Если null или не установлен, будет использоваться первый найденный поставщик, поддерживающий алгоритм.
- Parameters:
-
sigProvider- имя поставщика подписи (илиnull) - See Also:
getSigProvider()
getTargetCertConstraints
public CertSelector getTargetCertConstraints()
Возвращает необходимые ограничения для целевого сертификата. Ограничения возвращаются как экземпляр CertSelector. Если null, ограничения не определены.
Обратите внимание, что возвращаемый CertSelector клонируется для защиты от последующих изменений.
- Returns:
- объект
CertSelectorопределяющий ограничения для целевого сертификата (илиnull) - See Also:
setTargetCertConstraints(java.security.cert.CertSelector)
setTargetCertConstraints
public void setTargetCertConstraints(CertSelector selector)
Устанавливает необходимые ограничения для целевого сертификата. Ограничения задаются как экземпляр CertSelector. Если null, ограничения не определены.
Обратите внимание, что CertSelector указанный, клонируется для защиты от последующих изменений.
- Parameters:
-
selector- объектCertSelector, определяющий ограничения для целевого сертификата (илиnull) - See Also:
getTargetCertConstraints()
clone
public Object clone()
Создает копию этого объекта PKIXParameters. Изменения в копии не повлияют на оригинал и наоборот.
- Specified by:
-
cloneв интерфейсеCertPathParameters - Overrides:
-
cloneв классеObject - Returns:
- копию этого объекта
PKIXParameters - See Also:
Cloneable
toString
public String toString()
Возвращает отформатированную строку, описывающую параметры.
© 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/PKIXParameters.html