Класс X509CRLSelector
- java.lang.Object
-
- java.security.cert.X509CRLSelector
- Все реализованные интерфейсы:
- Cloneable, CRLSelector
public class X509CRLSelector extends Object implements CRLSelector
Объект, который выбирает CRLSelector которые соответствуют всем указанным критериям. Этот класс особенно полезен при выборе CRL из CertStore для проверки статуса отзыва конкретного сертификата.
При первом создании объект X509CRLSelector не имеет включенных критериев, и каждый из методов get возвращает значение по умолчанию (null). Поэтому метод match вернёт true для любого X509CRL. Как правило, несколько критериев включаются (вызванием setIssuers или setDateAndTime, например), а затем объект X509CRLSelector передаётся методу CertStore.getCRLs или аналогичному методу.
Обратитесь к RFC 5280: Профили сертификатов и списков CRL инфраструктуры открытых ключей X.509 Интернет для определений полей и расширений списка CRL X.509, упомянутых ниже.
Доступность в нескольких потоках
Если не указано иное, методы, определенные в этом классе, не потокобезопасны. Несколько потоков, которым требуется одновременный доступ к одному объекту, должны синхронизироваться между собой и обеспечить необходимую блокировку. Несколько потоков, каждый из которых манипулирует отдельными объектами, синхронизироваться не должны.
- С:
- 1.4
- См. также:
-
CRLSelector,X509CRL
Конструкторы
| Конструктор и описание |
|---|
X509CRLSelector() Создаёт объект |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addIssuer(X500Principal issuer) Добавляет имя в критерий issuerNames. |
void |
addIssuerName(byte[] name) Добавляет имя в критерий issuerNames. |
void |
addIssuerName(String name) Устаревший, используйте addIssuer(X500Principal) или addIssuerName(byte[]) вместо него. |
Object |
clone() Возвращает копию этого объекта. |
X509Certificate |
getCertificateChecking() Возвращает проверяемый сертификат. |
Date |
getDateAndTime() Возвращает критерий dateAndTime. |
Collection<Object> |
getIssuerNames() Возвращает копию критерия issuerNames. |
Collection<X500Principal> |
getIssuers() Возвращает критерий issuerNames. |
BigInteger |
getMaxCRL() Возвращает критерий maxCRLNumber. |
BigInteger |
getMinCRL() Возвращает критерий minCRLNumber. |
boolean |
match(CRL crl) Определяет, должен ли быть выбран |
void |
setCertificateChecking(X509Certificate cert) Устанавливает проверяемый сертификат. |
void |
setDateAndTime(Date dateAndTime) Устанавливает критерий dateAndTime. |
void |
setIssuerNames(Collection<?> names) Примечание: используйте setIssuers(Collection) вместо него или указывайте только байтовую форму имен, если используете этот метод. |
void |
setIssuers(Collection<X500Principal> issuers) Устанавливает критерий issuerNames. |
void |
setMaxCRLNumber(BigInteger maxCRL) Устанавливает критерий maxCRLNumber. |
void |
setMinCRLNumber(BigInteger minCRL) Устанавливает критерий minCRLNumber. |
String |
toString() Возвращает текстовое представление |
Методы, унаследованные от класса java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Конструкторы
X509CRLSelector
public X509CRLSelector()
Создаёт X509CRLSelector. Изначально критерии не заданы, поэтому любой X509CRL будет соответствовать.
Методы
setIssuers
public void setIssuers(Collection<X500Principal> issuers)
Устанавливает критерий issuerNames. Имя отличия издателя в X509CRL должно совпадать по крайней мере с одним из указанных имён отличий. Если null, подойдет любое имя отличия издателя.
Этот метод позволяет вызывающему коду указать полный набор имён издателей, которые X509CRLs может содержать. Указанное значение заменяет предыдущее значение для критерия issuerNames.
Параметр names (если он не null) является Collection из X500Principal.
Обратите внимание, что параметр names может содержать дубликаты имён отличий, но они могут быть удалены из Collection имён, возвращаемых методом getIssuers.
Обратите внимание, что выполняется копия Collection для защиты от последующих изменений.
- Параметры:
-
issuers-CollectionX500Principals (илиnull) - С:
- 1.5
- См. также:
getIssuers()
setIssuerNames
public void setIssuerNames(Collection<?> names)
throws IOException Примечание: используйте setIssuers(Collection) вместо этого или указывайте только байтовый массив формы имён отличий при использовании этого метода. См. addIssuerName(String) для получения дополнительной информации.
Устанавливает критерий issuerNames. Имя отличия издателя в X509CRL должно совпадать по крайней мере с одним из указанных имён отличий. Если null, подойдет любое имя отличия издателя.
Этот метод позволяет вызывающему коду указать полный набор имён издателей, которые X509CRLs может содержать. Указанное значение заменяет предыдущее значение для критерия issuerNames.
Параметр names (если он не null) представляет собой Collection имён. Каждое имя является String или байтовым массивом, представляющим имя отличия (в формате RFC 2253 или ASN.1 DER, соответственно). Если null указано в качестве значения для этого аргумента, проверка issuerNames не будет выполняться.
Обратите внимание, что параметр names может содержать дубликаты имён отличий, но они могут быть удалены из Collection имён, возвращаемых методом getIssuerNames.
Если имя задано как байтовый массив, он должен содержать единственное закодированное в DER имя отличия, как определено в X.501. ASN.1 запись для этой структуры приведена ниже.
Name ::= CHOICE {
RDNSequence }
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::=
SET SIZE (1 .. MAX) OF AttributeTypeAndValue
AttributeTypeAndValue ::= SEQUENCE {
type AttributeType,
value AttributeValue }
AttributeType ::= OBJECT IDENTIFIER
AttributeValue ::= ANY DEFINED BY AttributeType
....
DirectoryString ::= CHOICE {
teletexString TeletexString (SIZE (1..MAX)),
printableString PrintableString (SIZE (1..MAX)),
universalString UniversalString (SIZE (1..MAX)),
utf8String UTF8String (SIZE (1.. MAX)),
bmpString BMPString (SIZE (1..MAX)) } Обратите внимание, что выполняется глубокая копия Collection для защиты от последующих изменений.
- Параметры:
-
names-Collectionимён (илиnull) - Исключения:
-
IOException- если произошла ошибка разбора - См. также:
getIssuerNames()
addIssuer
public void addIssuer(X500Principal issuer)
Добавляет имя в критерий issuerNames. Имя отличия издателя в X509CRL должно совпадать по крайней мере с одним из указанных имён отличий.
Этот метод позволяет вызывающему коду добавить имя в набор имён издателей, которые X509CRLs может содержать. Указанное имя добавляется к любому предыдущему значению для критерия issuerNames. Если указанное имя является дубликатом, оно может быть проигнорировано.
- Параметры:
-
issuer- издатель как X500Principal - С:
- 1.5
addIssuerName
public void addIssuerName(String name)
throws IOException Отменено, используйте addIssuer(X500Principal) или addIssuerName(byte[]) вместо этого. Не следует полагаться на этот метод, так как он может не соответствовать некоторым CRL из-за потери информации об кодировании в строковом представлении RFC 2253 некоторых имён отличий.
Добавляет имя в критерий issuerNames. Имя отличия издателя в X509CRL должно совпадать по крайней мере с одним из указанных имён отличий.
Этот метод позволяет вызывающему коду добавить имя в набор имён издателей, которые X509CRLs может содержать. Указанное имя добавляется к любому предыдущему значению для критерия issuerNames. Если указанное имя является дубликатом, оно может быть проигнорировано.
- Параметры:
-
name- имя в формате RFC 2253 - Исключения:
-
IOException- если произошла ошибка разбора
addIssuerName
public void addIssuerName(byte[] name)
throws IOException Добавляет имя в критерий issuerNames. Имя отличия издателя в X509CRL должно совпадать по крайней мере с одним из указанных имён отличий.
Этот метод позволяет вызывающему коду добавить имя в набор имён издателей, которые X509CRLs может содержать. Указанное имя добавляется к любому предыдущему значению для критерия issuerNames. Если указанное имя является дубликатом, оно может быть проигнорировано. Если имя задано как байтовый массив, оно должно содержать единственное закодированное в DER имя отличия, как определено в X.501. ASN.1 запись для этой структуры приведена ниже.
Имя предоставляется в виде байтового массива. Этот байтовый массив должен содержать единственное закодированное в DER имя отличия, как определено в X.501. ASN.1 запись для этой структуры приведена в документации для setIssuerNames(Collection names).
Обратите внимание, что байтовый массив, предоставленный здесь, клонируется для защиты от последующих изменений.
- Параметры:
-
name- байтовый массив, содержащий имя в кодировке ASN.1 DER - Исключения:
-
IOException- если произошла ошибка разбора
setMinCRLNumber
public void setMinCRLNumber(BigInteger minCRL)
Устанавливает критерий minCRLNumber. X509CRL должен иметь расширение CRL номера, значение которого больше или равно указанному значению. Если null, проверка minCRLNumber не будет выполнена.
- Параметры:
-
minCRL- минимальный номер CRL, который принимается (илиnull)
setMaxCRLNumber
public void setMaxCRLNumber(BigInteger maxCRL)
Устанавливает критерий maxCRLNumber. X509CRL должен иметь расширение CRL номера, значение которого меньше или равно указанному значению. Если null, проверка maxCRLNumber не будет выполнена.
- Параметры:
-
maxCRL- максимальный номер CRL, который принимается (илиnull)
setDateAndTime
public void setDateAndTime(Date dateAndTime)
Устанавливает критерий dateAndTime. Указанная дата должна быть равна или позже, чем значение компонента thisUpdate X509CRL и раньше, чем значение компонента nextUpdate. Соответствия нет, если X509CRL не содержит компонента nextUpdate. Если null, проверка dateAndTime не будет выполнена.
Обратите внимание, что Date предоставленный здесь, клонируется для защиты от последующих изменений.
- Параметры:
-
dateAndTime-Dateдля сопоставления (илиnull) - См. также:
getDateAndTime()
setCertificateChecking
public void setCertificateChecking(X509Certificate cert)
Устанавливает проверяемый сертификат. Это не критерий. Скорее, это необязательная информация, которая может помочь CertStore найти CRL, которые были бы релевантны при проверке отзыва для указанного сертификата. Если null указано, такая необязательная информация не предоставляется.
- Параметры:
-
cert- проверяемыйX509Certificate(илиnull) - См. также:
getCertificateChecking()
getIssuers
public Collection<X500Principal> getIssuers()
Возвращает критерий issuerNames. Имя отличия издателя в X509CRL должно совпадать по крайней мере с одним из указанных имён отличий. Если возвращаемое значение null, подойдет любое имя отличия издателя.
Если возвращаемое значение не null, то это неизменяемый Collection X500Principal.
- Возвращает:
- неизменяемый
Collectionимён (илиnull) - С:
- 1.5
- См. также:
setIssuers(java.util.Collection<javax.security.auth.x500.X500Principal>)
getIssuerNames
public Collection<Object> getIssuerNames()
Возвращает копию критерия issuerNames. Имя отличия издателя в X509CRL должно совпадать по крайней мере с одним из указанных имён отличий. Если возвращаемое значение null, подойдет любое имя отличия издателя.
Если возвращаемое значение не null, то это Collection имён. Каждое имя представляет собой String или байтовый массив, представляющий имя отличия (в формате RFC 2253 или ASN.1 DER, соответственно). Обратите внимание, что возвращаемый Collection может содержать дублируемые имена.
Если имя задано как байтовый массив, он должен содержать единственное закодированное в DER имя отличия, как определено в X.501. ASN.1 запись для этой структуры приведена в документации к setIssuerNames(Collection names).
Обратите внимание, что выполняется глубокая копия Collection для защиты от последующих изменений.
- Возвращает:
Collectionимён (илиnull)- См. также:
setIssuerNames(java.util.Collection<?>)
getMinCRL
public BigInteger getMinCRL()
Возвращает критерий minCRLNumber. X509CRL должен иметь расширение CRL номера, значение которого больше или равно указанному значению. Если null, проверка minCRLNumber не будет выполнена.
- Возвращает:
- минимальный номер CRL, который принимается (или
null)
getMaxCRL
public BigInteger getMaxCRL()
Возвращает критерий maxCRLNumber. У X509CRL должна быть расширение CRL number со значением, меньшим или равным указанному значению. Если null, проверка maxCRLNumber не будет выполнена.
- Возвращает:
- максимальное число CRL, принимаемое (или
null)
getDateAndTime
public Date getDateAndTime()
Возвращает критерий dateAndTime. Указанная дата должна быть равна или позже значения компонента thisUpdate у X509CRL и раньше значения компонента nextUpdate. Совпадения не будет, если у X509CRL нет компонента nextUpdate. Если null, проверка dateAndTime не будет выполнена.
Обратите внимание, что возвращаемое значение Date клонируется для защиты от последующих изменений.
- Возвращает:
- значение
Dateдля сопоставления (илиnull) - См. также:
setDateAndTime(java.util.Date)
getCertificateChecking
public X509Certificate getCertificateChecking()
Возвращает проверяемый сертификат. Это не критерий. Скорее, это необязательная информация, которая может помочь CertStore найти CRL, которые будут актуальны при проверке отзыва для указанного сертификата. Если возвращаемое значение null, то такая необязательная информация не предоставлена.
- Возвращает:
- проверяемый сертификат (или
null) - См. также:
setCertificateChecking(java.security.cert.X509Certificate)
toString
public String toString()
Возвращает удобочитаемое представление X509CRLSelector.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- представление
Stringо содержимомX509CRLSelector.
match
public boolean match(CRL crl)
Определяет, должен ли быть выбран CRL.
- Определено в:
-
matchв интерфейсеCRLSelector - Параметры:
-
crl- проверяемыйCRL - Возвращает:
-
trueеслиCRLдолжен быть выбран,falseв противном случае
clone
public Object clone()
Возвращает копию этого объекта.
- Определено в:
-
cloneв интерфейсеCRLSelector - Переопределяет:
-
cloneв классеObject - Возвращает:
- копию
- См. также:
Cloneable
© 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.