Класс X509CRLSelector
- Все реализуемые интерфейсы:
Cloneable, CRLSelector
public class X509CRLSelector extends Object implements CRLSelector
CRLSelector, выбирающий X509CRLs, удовлетворяющие всем заданным критериям. Этот класс особенно полезен при выборе списков отозванных сертификатов из CertStore для проверки статуса отзыва конкретного сертификата. При создании у объекта X509CRLSelector не включены никакие критерии, и каждый из методов get возвращает значение по умолчанию (null). Поэтому метод match будет возвращать true для любого X509CRL. Обычно включают несколько критериев (например, вызывая setIssuers или setDateAndTime), а затем передают X509CRLSelector методу CertStore.getCRLs или аналогичному методу.
Определения упомянутых ниже полей и расширений X.509 CRL см. в RFC 5280: профиле сертификатов и списков отзыва сертификатов (CRL) инфраструктуры открытых ключей Internet X.509.
Параллельный доступ
Если не указано иное, методы, определённые в этом классе, не являются потокобезопасными. Несколько потоков, которым требуется одновременно обращаться к одному объекту, должны синхронизироваться между собой и обеспечивать необходимую блокировку. Потокам, каждый из которых работает с отдельным объектом, синхронизация не требуется.
- Начиная с версии:
- 1.4
- Внешние спецификации
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
X509CRLSelector() |
Создаёт объект X509CRLSelector. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addIssuer |
Добавляет имя в критерий issuerNames. |
void |
addIssuerName |
Добавляет имя в критерий issuerNames. |
void |
addIssuerName |
Устарел. |
Object |
clone() |
Возвращает копию этого объекта. |
X509Certificate |
getCertificateChecking() |
Возвращает проверяемый сертификат. |
Date |
getDateAndTime() |
Возвращает критерий dateAndTime. |
Collection |
getIssuerNames() |
Возвращает копию критерия issuerNames. |
Collection |
getIssuers() |
Возвращает критерий issuerNames. |
BigInteger |
getMaxCRL() |
Возвращает критерий maxCRLNumber. |
BigInteger |
getMinCRL() |
Возвращает критерий minCRLNumber. |
boolean |
match |
Определяет, следует ли выбирать CRL. |
void |
setCertificateChecking |
Задаёт проверяемый сертификат. |
void |
setDateAndTime |
Задаёт критерий dateAndTime. |
void |
setIssuerNames |
Примечание: вместо этого используйте setIssuers(Collection) либо указывайте в этом методе только форму различительных имён в виде массива байтов. |
void |
setIssuers |
Задаёт критерий issuerNames. |
void |
setMaxCRLNumber |
Задаёт критерий maxCRLNumber. |
void |
setMinCRLNumber |
Задаёт критерий minCRLNumber. |
String |
toString() |
Возвращает текстовое представление объекта X509CRLSelector. |
Подробное описание конструкторов
X509CRLSelector
public X509CRLSelector()
X509CRLSelector. Изначально критерии не заданы, поэтому будет соответствовать любой X509CRL.Подробное описание методов
setIssuers
public void setIssuers(Collection<X500Principal> issuers)
X509CRL должно совпадать хотя бы с одним из указанных различительных имён. Если null, подойдёт любое различительное имя издателя. Этот метод позволяет вызывающему коду одним вызовом указать полный набор имён издателей, которые может содержать X509CRLs. Указанное значение заменяет предыдущее значение критерия issuerNames.
Параметр names (если он не null) представляет собой Collection из X500Principalов.
Обратите внимание, что параметр names может содержать повторяющиеся различительные имена, однако они могут быть удалены из Collection имён, возвращаемого методом getIssuers.
Обратите внимание, что для защиты от последующих изменений создаётся копия Collection.
- Параметры:
-
issuers—Collectionобъектов X500Principal (илиnull) - Начиная с версии:
- 1.5
- См. также:
setIssuerNames
public void setIssuerNames(Collection<?> names) throws IOException
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— если произошла ошибка разбора - Внешние спецификации
- См. также:
addIssuer
public void addIssuer(X500Principal issuer)
X509CRL должно совпадать хотя бы с одним из указанных различительных имён. Этот метод позволяет вызывающему коду добавить имя в набор имён издателей, которые может содержать X509CRLs. Указанное имя добавляется к ранее заданному значению критерия issuerNames. Если указанное имя является дубликатом, оно может быть проигнорировано.
- Параметры:
-
issuer— издатель в виде X500Principal - Начиная с версии:
- 1.5
addIssuerName
@Deprecated(since="16") public void addIssuerName(String name) throws IOException
addIssuer(X500Principal) или addIssuerName(byte[]). Не следует полагаться на этот метод, поскольку из-за потери информации о кодировке в строковом представлении некоторых различительных имён в формате RFC 2253 он может не найти соответствующие списки отзыва сертификатов.X509CRL должно совпадать хотя бы с одним из указанных различительных имён. Этот метод позволяет вызывающему коду добавить имя в набор имён издателей, которые может содержать X509CRLs. Указанное имя добавляется к ранее заданному значению критерия issuerNames. Если указанное имя является дубликатом, оно может быть проигнорировано.
- Параметры:
-
name— имя в формате RFC 2253 - Исключения:
-
IOException— если произошла ошибка разбора - Внешние спецификации
addIssuerName
public void addIssuerName(byte[] name) throws IOException
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)
X509CRL должен иметь расширение номера CRL со значением, большим или равным указанному. Если null, проверка minCRLNumber выполняться не будет.- Параметры:
-
minCRL— минимальный допустимый номер CRL (илиnull)
setMaxCRLNumber
public void setMaxCRLNumber(BigInteger maxCRL)
X509CRL должен иметь расширение номера CRL со значением, меньшим или равным указанному. Если null, проверка maxCRLNumber выполняться не будет.- Параметры:
-
maxCRL— максимальный допустимый номер CRL (илиnull)
setDateAndTime
public void setDateAndTime(Date dateAndTime)
X509CRL или позднее него, а также предшествовать значению компонента nextUpdate. Соответствие отсутствует, если X509CRL не содержит компонента nextUpdate. Если null, проверка dateAndTime выполняться не будет. Обратите внимание, что переданный сюда объект Date клонируется для защиты от последующих изменений.
- Параметры:
-
dateAndTime—Dateдля сравнения (илиnull) - См. также:
setCertificateChecking
public void setCertificateChecking(X509Certificate cert)
CertStore найти списки отзыва сертификатов, относящиеся к проверке отзыва указанного сертификата. Если указано null, дополнительные сведения не предоставляются.- Параметры:
-
cert— проверяемыйX509Certificate(илиnull) - См. также:
getIssuers
public Collection<X500Principal> getIssuers()
X509CRL должно совпадать хотя бы с одним из указанных различительных имён. Если возвращается null, подойдёт любое различительное имя издателя. Если возвращаемое значение не равно null, это неизменяемый Collection из X500Principalов.
- Возвращает:
- неизменяемый
Collectionимён (илиnull) - Начиная с версии:
- 1.5
- См. также:
getIssuerNames
public Collection<Object> getIssuerNames()
X509CRL должно совпадать хотя бы с одним из указанных различительных имён. Если возвращается null, подойдёт любое различительное имя издателя. Если возвращаемое значение не равно null, это Collection имён. Каждое имя является String или массивом байтов, представляющим различительное имя (соответственно в формате RFC 2253 или в кодировке ASN.1 DER). Обратите внимание, что возвращаемый Collection может содержать повторяющиеся имена.
Если имя задано в виде массива байтов, он должен содержать одно различительное имя в кодировке DER, как определено в X.501. Нотация ASN.1 для этой структуры приведена в документации метода setIssuerNames(Collection names).
Обратите внимание, что для защиты от последующих изменений создаётся глубокая копия Collection.
- Возвращает:
Collectionимён (илиnull)- Внешние спецификации
- См. также:
getMinCRL
public BigInteger getMinCRL()
X509CRL должен иметь расширение номера CRL со значением, большим или равным указанному. Если null, проверка minCRLNumber выполняться не будет.- Возвращает:
- минимальный допустимый номер CRL (или
null)
getMaxCRL
public BigInteger getMaxCRL()
X509CRL должен иметь расширение номера CRL со значением, меньшим или равным указанному. Если null, проверка maxCRLNumber выполняться не будет.- Возвращает:
- максимальный допустимый номер CRL (или
null)
getDateAndTime
public Date getDateAndTime()
X509CRL или позднее него, а также предшествовать значению компонента nextUpdate. Соответствие отсутствует, если X509CRL не содержит компонента nextUpdate. Если null, проверка dateAndTime выполняться не будет. Обратите внимание, что возвращаемый объект Date клонируется для защиты от последующих изменений.
- Возвращает:
Dateдля сравнения (илиnull)- См. также:
getCertificateChecking
public X509Certificate getCertificateChecking()
CertStore найти списки отзыва сертификатов, относящиеся к проверке отзыва указанного сертификата. Если возвращается null, дополнительные сведения не предоставляются.- Возвращает:
- проверяемый сертификат (или
null) - См. также:
toString
match
public boolean match(CRL crl)
CRL.- Определён в:
-
matchв интерфейсеCRLSelector - Параметры:
-
crl—CRLдля проверки - Возвращает:
-
true, если следует выбратьCRL, в противном случае —false
clone
public Object clone()
- Определён в:
-
cloneв интерфейсеCRLSelector - Переопределяет:
-
cloneв классе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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/cert/X509CRLSelector.html
addIssuer(X500Principal)илиaddIssuerName(byte[]).