Класс PKIXParameters
- Все реализованные интерфейсы:
-
Cloneable,CertPathParameters
- Непосредственные известные подклассы:
PKIXBuilderParameters
public class PKIXParameters extends Object implements CertPathParameters
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
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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 со специфицированным набором Set наиболее надёжных центров сертификации. Каждый элемент набора — TrustAnchor. Обратите внимание, что Set копируется для защиты от последующих изменений.
- Параметры:
-
trustAnchors- наборSetTrustAnchor - Исключения:
-
InvalidAlgorithmParameterException- если указанныйSetпуст(trustAnchors.isEmpty() == true) -
NullPointerException- если указанныйSetnull -
ClassCastException- если любой из элементов в наборе не является типом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в противном случае
setPolicyMappingInhibited
public void setPolicyMappingInhibited(boolean val)
- Параметры:
-
val-trueесли отображение политик должно быть запрещено,falseв противном случае
isPolicyMappingInhibited
public boolean isPolicyMappingInhibited()
- Возвращает:
- true, если отображение политики запрещено, иначе false
setAnyPolicyInhibited
public void setAnyPolicyInhibited(boolean val)
isAnyPolicyInhibited() возвращает false).- Параметры:
-
val-trueесли любой ОИД политики должен быть запрещён,falseв противном случае
isAnyPolicyInhibited
public boolean isAnyPolicyInhibited()
- Возвращает:
-
trueесли любой ОИД политики запрещён,falseв противном случае
setPolicyQualifiersRejected
public void setPolicyQualifiersRejected(boolean qualifiersRejected)
При создании объекта PKIXParameters, этот флаг устанавливается в true. Это значение отражает наиболее распространённую (и простую) стратегию обработки квалификаторов политики. Приложения, которые хотят использовать более сложную политику, должны установить этот флаг в false.
Обратите внимание, что алгоритм проверки пути сертификации PKIX определяет, что любой квалификатор политики в расширении политики сертификата, помеченном как критический, должен быть обработан и проверен. В противном случае путь сертификации должен быть отклонен. Если флаг policyQualifiersRejected установлен в false, приложение должно валидировать все квалификаторы политики таким образом, чтобы соответствовать PKIX.
- Параметры:
-
qualifiersRejected- новое значение флага PolicyQualifiersRejected - См. также:
getPolicyQualifiersRejected
public boolean getPolicyQualifiersRejected()
При создании объекта PKIXParameters, этот флаг устанавливается в true. Это значение отражает наиболее распространённую (и простую) стратегию обработки квалификаторов политики. Приложения, которые хотят использовать более сложную политику, должны установить этот флаг в false.
- Возвращает:
- текущее значение флага PolicyQualifiersRejected
- См. также:
getDate
public Date getDate()
null, используется текущее время. Обратите внимание, что возвращаемое Date копируется, чтобы предотвратить последующие изменения.
- Возвращает:
- указанное
Date, илиnullесли не задано - См. также:
setDate
public void setDate(Date date)
null, используется текущее время. Обратите внимание, что предоставленное Date копируется, чтобы предотвратить последующие изменения.
- Параметры:
-
date- указанноеDate, илиnullдля текущего времени - См. также:
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 в списке клонируется, чтобы предотвратить последующие изменения.
- Параметры:
-
checkers- списокListPKIXCertPathChecker. Может бытьnull, в этом случае дополнительные проверки не будут использоваться. - Исключения:
-
ClassCastException- если какой-либо элемент в списке не является объектом типаjava.security.cert.PKIXCertPathChecker - См. также:
getCertPathCheckers
public List<PKIXCertPathChecker> getCertPathCheckers()
List является неизменяемым, и каждый PKIXCertPathChecker в списке List клонируется для предотвращения последующих изменений.- Возвращает:
- неизменяемый список
ListPKIXCertPathChecker(может быть пустым, но неnull) - См. также:
addCertPathChecker
public void addCertPathChecker(PKIXCertPathChecker checker)
PKIXCertPathChecker в список проверяющих пути сертификации. См. метод setCertPathCheckers для получения более подробной информации. Обратите внимание, что PKIXCertPathChecker клонируется, чтобы предотвратить последующие изменения.
- Параметры:
-
checker-PKIXCertPathCheckerдля добавления в список проверок. Еслиnull, проверка игнорируется (не добавляется в список).
getSigProvider
public String getSigProvider()
null если не задано.- Возвращает:
- имя поставщика подписей (или
null) - См. также:
setSigProvider
public void setSigProvider(String sigProvider)
Signature. Если null или не задано, будет использоваться первый найденный поставщик, поддерживающий алгоритм.- Параметры:
-
sigProvider- имя поставщика подписей (илиnull) - См. также:
getTargetCertConstraints
public CertSelector getTargetCertConstraints()
CertSelector. Если null, ограничения не определены. Обратите внимание, что возвращаемый CertSelector клонируется, чтобы предотвратить последующие изменения.
- Возвращает:
- объект
CertSelector, определяющий ограничения на целевой сертификат (илиnull) - См. также:
setTargetCertConstraints
public void setTargetCertConstraints(CertSelector selector)
CertSelector. Если null, ограничения не определены. Обратите внимание, что предоставленный CertSelector клонируется, чтобы предотвратить последующие изменения.
- Параметры:
-
selector-CertSelector, определяющий ограничения на целевой сертификат (илиnull) - См. также:
клонировать
public Object clone()
PKIXParameters объекта. Изменения в копии не повлияют на оригинал и наоборот.- Определено:
-
cloneв интерфейсеCertPathParameters - Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого
PKIXParametersобъекта - См. также:
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- отформатированную строку, описывающую параметры.
© 1993, 2023, 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/21/docs/api/java.base/java/security/cert/PKIXParameters.html