Класс 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, заполняющий набор наиболее доверенных ЦС из записей доверенных сертификатов, содержащихся в указанном KeyStore.

PKIXParameters​(Set<TrustAnchor> trustAnchors)

Создает экземпляр PKIXParameters с заданным набором Set наиболее доверенных ЦС.

Методы

Модификатор и тип Метод Описание
void addCertPathChecker​(PKIXCertPathChecker checker)

Добавляет PKIXCertPathChecker в список проверяющих цепочки сертификатов.

void addCertStore​(CertStore store)

Добавляет CertStore в конец списка CertStore используемых для поиска сертификатов и CRL.

Object clone()

Создает копию этого объекта PKIXParameters.

List<PKIXCertPathChecker> getCertPathCheckers()

Возвращает List проверяющих цепочки сертификатов.

List<CertStore> getCertStores()

Возвращает неизменяемый набор List CertStore используемых для поиска сертификатов и CRL.

Date getDate()

Возвращает время, для которого должна быть определена действительность цепочки сертификатов.

Set<String> getInitialPolicies()

Возвращает неизменяемый набор идентификаторов начальной политики (строки OID), указывающие, что любая из этих политик будет приемлемой для пользователя сертификата для целей обработки цепочки сертификатов.

boolean getPolicyQualifiersRejected()

Получает флаг PolicyQualifiersRejected.

String getSigProvider()

Возвращает имя поставщика подписей или null, если он не установлен.

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)

Устанавливает список CertStore для использования при поиске сертификатов и CRL.

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 наиболее надёжных ЦС.

Возвращает:
неизменяемый Set TrustAnchor (никогда null)
См. также:
setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>)

setTrustAnchors

public void setTrustAnchors(Set<TrustAnchor> trustAnchors)
                     throws InvalidAlgorithmParameterException

Устанавливает Set наиболее надёжных ЦС.

Обратите внимание, что Set копируется для защиты от последующих изменений.

Параметры:
trustAnchors - Set TrustAnchor
Исключения:
InvalidAlgorithmParameterException - если указанный Set пустой (trustAnchors.isEmpty() == true)
NullPointerException - если указанный Set null
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 - List CertStore (или 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.

Возвращает:
неизменяемый List CertStore (может быть пустым, но никогда 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 - a List из PKIXCertPathChecker. Может быть null, в этом случае дополнительные проверки не будут использоваться.
Throws:
ClassCastException - если любой из элементов в списке не является объектом типа java.security.cert.PKIXCertPathChecker
See Also:
getCertPathCheckers()

getCertPathCheckers

public List<PKIXCertPathChecker> getCertPathCheckers()

Возвращает List проверяющих сертификационные пути. Возвращаемый List неизменяемый, и каждый PKIXCertPathChecker в List клонируется для защиты от последующих изменений.

Returns:
неизменяемый List PKIXCertPathChecker (может быть пустым, но не null)
See Also:
setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>)

addCertPathChecker

public void addCertPathChecker(PKIXCertPathChecker checker)

Добавляет PKIXCertPathChecker в список проверяющих сертификационные пути. Смотрите метод setCertPathCheckers для получения более подробной информации.

Обратите внимание, что PKIXCertPathChecker клонируется для защиты от последующих изменений.

Parameters:
checker - a PKIXCertPathChecker для добавления в список проверок. Если 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()

Возвращает отформатированную строку, описывающую параметры.

Overrides:
toString в классе Object
Returns:
отформатированную строку, описывающую параметры.

© 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

Spec-Zone .ru
спецификации, руководства, описания, API