Spec-Zone.ru › OpenJDK 24

Класс PKIXParameters

java.lang.Object
java.security.cert.PKIXParameters
Все реализуемые интерфейсы:
Cloneable, CertPathParameters
Непосредственные известные подклассы:
PKIXBuilderParameters
public class PKIXParameters extends Object implements CertPathParameters
Параметры, используемые в качестве входных данных для алгоритма PKIX 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
См. также:
  • 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 с указанным набором наиболее надёжных ЦС. Каждый элемент набора — это 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 - набор начальных 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, если не передан PKIXRevocationChecker в качестве CertPathChecker (см. дальнейшие объяснения ниже). Если этот флаг false, механизм проверки отзыва по умолчанию отключён.

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

Обратите внимание, что при передаче объекта PKIXRevocationChecker в качестве параметра через методы addCertPathChecker или setCertPathCheckers он будет использоваться для проверки отзыва независимо от установки флага RevocationEnabled.

Параметры:
val - новое значение флага RevocationEnabled

isRevocationEnabled

public boolean isRevocationEnabled()
Проверяет флаг RevocationEnabled. Если этот флаг true, используется механизм проверки отзыва по умолчанию для подпровайдера PKIX, если не передан PKIXRevocationChecker в качестве CertPathChecker. Если этот флаг 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 в противном случае

Установить запрет на сопоставление политик

public void setPolicyMappingInhibited(boolean val)
Устанавливает флаг PolicyMappingInhibited. Если этот флаг равен true, сопоставление политик запрещено. По умолчанию сопоставление политик не запрещено (флаг равен false).
Параметры:
val - true, если требуется запретить сопоставление политик, false в противном случае

Проверить запрет на сопоставление политик

public boolean isPolicyMappingInhibited()
Проверяет, запрещено ли сопоставление политик. Если этот флаг равен true, сопоставление политик запрещено. По умолчанию сопоставление политик не запрещено (флаг равен false).
Возвращает:
true, если сопоставление политик запрещено, false в противном случае

Установить запрет на обработку любого OID политики

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

Проверить запрет на обработку любого OID политики

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

Установить запрет на отклонение квалификаторов политики

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

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

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

Параметры:
qualifiersRejected - новое значение флага PolicyQualifiersRejected
См. также:
  • getPolicyQualifiersRejected()
  • PolicyQualifierInfo

Получить флаг запрета на квалификаторы политики

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

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

Возвращает:
текущее значение флага PolicyQualifiersRejected
См. также:
  • setPolicyQualifiersRejected(boolean)

Получить дату

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

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

Возвращает:
установленную Date или null, если не задано
См. также:
  • setDate(java.util.Date)

Установить дату

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

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

Параметры:
date - Date или null для текущего времени
См. также:
  • getDate()

Установить дополнительные проверки цепочки сертификатов

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

Получить дополнительные проверки цепочки сертификатов

public List<PKIXCertPathChecker> getCertPathCheckers()
Возвращает список проверочных средств цепочки сертификатов. Возвращаемый список является неизменяемым, и каждый объект в списке клонирован для защиты от последующих изменений.
Возвращает:
неизменяемый список List PKIXCertPathChecker (может быть пустым, но не null)
См. также:
  • setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>)

Добавить проверку цепочки сертификатов

public void addCertPathChecker(PKIXCertPathChecker checker)
Добавляет PKIXCertPathChecker в список проверочных средств цепочки сертификатов. См. метод setCertPathCheckers для получения подробной информации.

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

Параметры:
checker - PKIXCertPathChecker для добавления в список проверок. Если null, проверка игнорируется (не добавляется в список).

Получить имя поставщика подписи

public String getSigProvider()
Возвращает имя поставщика подписи или null, если не задано.
Возвращает:
имя поставщика подписи (или null)
См. также:
  • setSigProvider(java.lang.String)

Установить имя поставщика подписи

public void setSigProvider(String sigProvider)
Устанавливает имя поставщика подписи. Указанный поставщик будет предпочтительным при создании объектов Signature. Если null или не задан, будет использован первый найденный поставщик, поддерживающий алгоритм.
Параметры:
sigProvider - имя поставщика подписи (или null)
См. также:
  • getSigProvider()

Получить ограничения на целевой сертификат

public CertSelector getTargetCertConstraints()
Возвращает необходимые ограничения на целевой сертификат. Ограничения возвращаются как экземпляр CertSelector. Если null, ограничения не определены.

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

Возвращает:
объект CertSelector, описывающий ограничения на целевой сертификат (или null)
См. также:
  • setTargetCertConstraints(java.security.cert.CertSelector)

установитьОграниченияНаСертификатЦели

public void setTargetCertConstraints(CertSelector selector)
Устанавливает необходимые ограничения на целевой сертификат. Ограничения задаются как экземпляр CertSelector. Если null, ограничения не определены.

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

Параметры:
selector - CertSelector, определяющий ограничения на целевой сертификат (или null)
См. также:
  • getTargetCertConstraints()

клонировать

public Object clone()
Создаёт копию этого объекта PKIXParameters. Изменения в копии не повлияют на оригинал и наоборот.
Определено в:
clone в интерфейсе CertPathParameters
Переопределяет:
clone в классе Object
Возвращает:
копию этого объекта PKIXParameters
См. также:
  • Cloneable

toString

public String toString()
Возвращает отформатированную строку, описывающую параметры.
Переопределяет:
toString в классе Object
Возвращает:
отформатированную строку, описывающую параметры.

© 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

Spec-Zone.ru

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