Spec-Zone.ru › OpenJDK 17

Класс 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, заполняя набор самых надёжных ЦС из записей доверенных сертификатов, содержащихся в указанном 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()
Возвращает неизменяемый 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(boolean val)
Устанавливает состояние, определяющее, должна ли обрабатываться любая политика OID, если она включена в сертификат.
void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
Устанавливает List дополнительных проверятелей цепочки сертификатов.
void setCertStores(List<CertStore> stores)
Устанавливает список CertStore для поиска сертификатов и CRL.
void setDate(Date date)
Устанавливает время, для которого должна определяться действительность цепочки сертификатов.
void setExplicitPolicyRequired(boolean val)
Устанавливает флаг ExplicitPolicyRequired.
void setInitialPolicies(Set<String> initialPolicies)
Устанавливает Set идентификаторов начальной политики (строки 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)
Устанавливает Set самых надёжных ЦС.
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 - 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
END_OF_DOCUMENT_MARKER

setAnyPolicyInhibited

public void setAnyPolicyInhibited(boolean val)
Устанавливает состояние, определяющее, нужно ли обрабатывать идентификатор объекта политики any, если он включён в сертификат. По умолчанию идентификатор объекта политики any не заблокирован (isAnyPolicyInhibited() возвращает false).
Parameters:
val - true если идентификатор объекта политики any нужно заблокировать, false в противном случае

isAnyPolicyInhibited

public boolean isAnyPolicyInhibited()
Проверяет, нужно ли обрабатывать идентификатор объекта политики any, если он включён в сертификат.
Returns:
true если идентификатор объекта политики any заблокирован, false в противном случае

setPolicyQualifiersRejected

public void setPolicyQualifiersRejected(boolean qualifiersRejected)
Устанавливает флаг PolicyQualifiersRejected. Если этот флаг true, сертификаты, содержащие квалификаторы политики в расширении certificate policies сертификата, помеченные как критические, отклоняются. Если флаг false, сертификаты не отклоняются по этому основанию.

При создании объекта PKIXParameters, этот флаг установлен в true. Это значение отражает наиболее распространённую (и простую) стратегию обработки квалификаторов политики. Приложения, которые хотят использовать более сложную политику, должны установить этот флаг в false.

Обратите внимание, что алгоритм проверки цепочки сертификатов PKIX определяет, что любой квалификатор политики в расширении certificate policies сертификата, помеченный как критический, должен быть обработан и проверен. В противном случае цепочка сертификатов должна быть отклонена. Если флаг policyQualifiersRejected установлен в false, приложение должно валидировать все квалификаторы политики таким образом, чтобы соответствовать PKIX.

Parameters:
qualifiersRejected - новое значение флага PolicyQualifiersRejected
See Also:
  • getPolicyQualifiersRejected()
  • PolicyQualifierInfo

getPolicyQualifiersRejected

public boolean getPolicyQualifiersRejected()
Возвращает флаг PolicyQualifiersRejected. Если этот флаг true, сертификаты, содержащие квалификаторы политики в расширении certificate policies сертификата, помеченные как критические, отклоняются. Если флаг false, сертификаты не отклоняются по этому основанию.

При создании объекта PKIXParameters, этот флаг установлен в true. Это значение отражает наиболее распространённую (и простую) стратегию обработки квалификаторов политики. Приложения, которые хотят использовать более сложную политику, должны установить этот флаг в false.

Returns:
текущее значение флага PolicyQualifiersRejected
See Also:
  • setPolicyQualifiersRejected(boolean)

getDate

public Date getDate()
Возвращает время, для которого должна быть определена действительность цепочки сертификатов. Если null, используется текущее время.

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

Returns:
дата и время, или null если не установлена
See Also:
  • setDate(java.util.Date)

setDate

public void setDate(Date date)
Устанавливает время, для которого должна быть определена действительность цепочки сертификатов. Если null, используется текущее время.

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

Parameters:
date - дата и время, или null для текущего времени
See Also:
  • getDate()

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

getCertPathCheckers

public List<PKIXCertPathChecker> getCertPathCheckers()
Возвращает список проверяющих цепочки сертификатов. Возвращаемый список 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 - 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
Возвращает:
отформатированную строку, описывающую параметры.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API