Класс X509CRLSelector
- Все реализованные интерфейсы:
-
Cloneable,CRLSelector
public class X509CRLSelector extends Object implements CRLSelector
При первом создании у объекта X509CRLSelector нет включённых критериев, и каждый из методов возвращает значения по умолчанию (null). Поэтому метод match вернёт true для любого X509CRL. Обычно несколько критериев включаются (вызовом setIssuers или setDateAndTime, например), а затем объект X509CRLSelector передаётся методу CertStore.getCRLs или аналогичному методу.
Для получения определений полей и расширений CRL X.509, упоминаемых ниже, обратитесь к RFC 5280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile.
Доступность нескольких потоков
Если не указано иное, методы, определённые в этом классе, не являются потокобезопасными. Несколько потоков, которым необходимо одновременно получить доступ к одному объекту, должны синхронизироваться между собой и обеспечить необходимую блокировку. Несколько потоков, каждый из которых манипулирует отдельными объектами, не нуждаются в синхронизации.
- С тех пор как:
- 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-CollectionX500Principals (или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[]) вместо этого. Этот метод не должен использоваться, так как он может не соответствовать некоторым CRL из-за потери информации об кодировании в форме строки 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 number со значением, большим или равным указанному значению. Если null, проверка minCRLNumber не будет выполнена.- Параметры:
-
minCRL- минимальное число CRL (илиnull)
setMaxCRLNumber
public void setMaxCRLNumber(BigInteger maxCRL)
X509CRL должен иметь расширение CRL number со значением, меньшим или равным указанному значению. Если 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 найти CRL, которые были бы релевантны при проверке отзыва для указанного сертификата. Если 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 для защиты от последующих изменений.
- Returns:
- a
Collectionимён (илиnull) - See Also:
getMinCRL
public BigInteger getMinCRL()
X509CRL должен иметь расширение CRL номера, значение которого больше или равно указанному значению. Если null, проверка minCRLNumber не будет выполнена.- Returns:
- минимальный номер CRL, принятый (или
null)
getMaxCRL
public BigInteger getMaxCRL()
X509CRL должен иметь расширение CRL номера, значение которого меньше или равно указанному значению. Если null, проверка maxCRLNumber не будет выполнена.- Returns:
- максимальный номер CRL, принятый (или
null)
getDateAndTime
public Date getDateAndTime()
X509CRL и раньше значения компоненты nextUpdate. Совпадения не будет, если X509CRL не содержит компоненту nextUpdate. Если null, проверка dateAndTime не будет выполнена. Обратите внимание, что возвращаемый Date клонируется, чтобы защитить от последующих изменений.
- Returns:
- the
Dateдля сравнения (илиnull) - See Also:
getCertificateChecking
public X509Certificate getCertificateChecking()
CertStore найти CRL, которые были бы уместны при проверке отзыва для указанного сертификата. Если возвращаемое значение null, то такая дополнительная информация не предоставляется.- Returns:
- проверяемый сертификат (или
null) - See Also:
toString
public String toString()
X509CRLSelector.- Overrides:
-
toStringв классеObject - Returns:
- a
Stringописывающее содержимоеX509CRLSelector.
match
public boolean match(CRL crl)
CRL.- Specified by:
-
matchв интерфейсеCRLSelector - Parameters:
-
crl- проверяемыйCRL - Returns:
-
trueеслиCRLдолжен быть выбран,falseв противном случае
clone
public Object clone()
- Specified by:
-
cloneв интерфейсеCRLSelector - Overrides:
-
cloneв классеObject - Returns:
- копию
- See Also:
© 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/X509CRLSelector.html
addIssuer(X500Principal)илиaddIssuerName(byte[])вместо этого.