Класс 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() Возвращает неизменяемый |
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) Устанавливает |
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 со специфицированным набором наиболее надёжных ЦС. Каждый элемент набора — 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()
Возвращает неизменяемый набор наиболее надёжных ЦС.
- Возвращает:
- неизменяемый набор
TrustAnchor(никогдаnull) - См. также:
setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>)
setTrustAnchors
public void setTrustAnchors(Set<TrustAnchor> trustAnchors)
throws InvalidAlgorithmParameterException Устанавливает набор наиболее надёжных ЦС.
Обратите внимание, что набор Set копируется для защиты от последующих изменений.
- Параметры:
-
trustAnchors- наборTrustAnchor - Исключения:
-
InvalidAlgorithmParameterException- если указанныйSetпустой(trustAnchors.isEmpty() == true) -
NullPointerException- если указанныйSetnull -
ClassCastException- если любой из элементов в наборе не является объектом типаjava.security.cert.TrustAnchor - См. также:
getTrustAnchors()
getInitialPolicies
public Set<String> getInitialPolicies()
Возвращает неизменяемый набор идентификаторов начальных политик (строки OID), указывающих, что любой из этих политик будет приемлем для пользователя сертификата в целях обработки пути сертификации. Значение по умолчанию — пустой набор, что означает, что любая политика будет приемлема.
- Возвращает:
- неизменяемый набор начальных OID политик в формате
String, или пустой набор (что подразумевает приемлемость любой политики). Никогда не возвращаетnull. - См. также:
setInitialPolicies(java.util.Set<java.lang.String>)
setInitialPolicies
public void setInitialPolicies(Set<String> initialPolicies)
Устанавливает набор идентификаторов начальных политик (строки OID), указывающих, что любой из этих политик будет приемлем для пользователя сертификата в целях обработки пути сертификации. По умолчанию любая политика приемлема (т. е. все политики), поэтому пользователю, желающему разрешить любую политику, не нужно вызывать этот метод, или он может вызвать его с пустым набором (или null).
Обратите внимание, что набор Set копируется для защиты от последующих изменений.
- Параметры:
-
initialPolicies- набор начальных OID политик в форматеString(илиnull) - Исключения:
-
ClassCastException- если любой из элементов в наборе не является объектом типаString - См. также:
getInitialPolicies()
setCertStores
public void setCertStores(List<CertStore> stores)
Устанавливает список CertStore для поиска сертификатов и CRL. Может быть null, в этом случае CertStore не будут использоваться. Первые CertStore в списке могут предпочтительнее, чем последующие.
Обратите внимание, что список List копируется для защиты от последующих изменений.
- Параметры:
-
stores- список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()
Возвращает неизменяемый список CertStore для поиска сертификатов и CRL.
- Возвращает:
- неизменяемый список
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 копируется для защиты от последующих изменений.
- Возвращает:
- значение
Date, илиnullесли не установлено - См. также:
setDate(java.util.Date)
setDate
public void setDate(Date date)
Устанавливает время, для которого должна быть определена валидность цепочки сертификатов. Если null, используется текущее время.
Обратите внимание, что значение Date здесь копируется для защиты от последующих изменений.
- Параметры:
-
date- значениеDate, илиnullдля текущего времени - См. также:
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 в списке клонируется для защиты от последующих изменений.
- Параметры:
-
checkers- списокListPKIXCertPathCheckers. Может бытьnull, в этом случае дополнительные проверки не будут использоваться. - Исключения:
-
ClassCastException- если любой из элементов в списке не является типомjava.security.cert.PKIXCertPathChecker - См. также:
getCertPathCheckers()
getCertPathCheckers
public List<PKIXCertPathChecker> getCertPathCheckers()
Возвращает список проверяющих цепочку сертификатов. Возвращаемый список неизменяем, и каждый PKIXCertPathChecker в списке List клонируется для защиты от последующих изменений.
- Возвращает:
- неизменяемый список
ListPKIXCertPathCheckers (может быть пустым, но неnull) - См. также:
setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>)
addCertPathChecker
public void addCertPathChecker(PKIXCertPathChecker checker)
Добавляет проверяющего цепочки сертификатов в список. См. метод setCertPathCheckers для получения более подробной информации.
Обратите внимание, что PKIXCertPathChecker клонируется для защиты от последующих изменений.
- Параметры:
-
checker- проверяющий для добавления в список. Еслиnull, проверяющий игнорируется (не добавляется в список).
getSigProvider
public String getSigProvider()
Возвращает имя поставщика подписей или null если не установлено.
- Возвращает:
- имя поставщика подписей (или
null) - См. также:
setSigProvider(java.lang.String)
setSigProvider
public void setSigProvider(String sigProvider)
Устанавливает имя поставщика подписей. Указанный поставщик будет предпочтительным при создании объектов Signature. Если null или не установлен, будет использован первый найденный поставщик, поддерживающий алгоритм.
- Параметры:
-
sigProvider- имя поставщика подписей (илиnull) - См. также:
getSigProvider()
getTargetCertConstraints
public CertSelector getTargetCertConstraints()
Возвращает необходимые ограничения на целевой сертификат. Ограничения возвращаются в виде экземпляра CertSelector. Если null, ограничения не определены.
Обратите внимание, что возвращаемый CertSelector клонируется для защиты от последующих изменений.
- Возвращает:
- объект
CertSelector, задающий ограничения на целевой сертификат (илиnull) - См. также:
setTargetCertConstraints(java.security.cert.CertSelector)
setTargetCertConstraints
public void setTargetCertConstraints(CertSelector selector)
Устанавливает необходимые ограничения на целевой сертификат. Ограничения задаются как экземпляр CertSelector. Если null, ограничения не определены.
Обратите внимание, что указанный CertSelector клонируется для защиты от последующих изменений.
- Параметры:
-
selector- объектCertSelector, задающий ограничения на целевой сертификат (илиnull) - См. также:
getTargetCertConstraints()
clone
public Object clone()
Создаёт копию объекта PKIXParameters. Изменения в копии не повлияют на оригинал и наоборот.
- Определено в:
-
cloneв интерфейсеCertPathParameters - Переопределяет:
-
cloneв классеObject - Возвращает:
- копию объекта
PKIXParameters - См. также:
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.