Класс X509CRLSelector
- java.lang.Object
-
- java.security.cert.X509CRLSelector
- Все реализуемые интерфейсы:
-
Cloneable,CRLSelector
public class X509CRLSelector extends Object implements CRLSelector
Объект, который выбирает списки отозванных сертификатов (CRLs), соответствующие указанным критериям. Этот класс особенно полезен при выборе CRL из хранилища сертификатов для проверки статуса отзыва определенного сертификата.
При первом создании у объекта нет активных критериев, и каждый из методов критериев возвращает значение по умолчанию (null). Поэтому метод match вернёт true для любого X509CRL. Обычно несколько критериев активируются (например, вызовом setIssuers или setDateAndTime), а затем полученный объект передаётся в метод CertStore.getCRLs или подобный ему.
Обратитесь к RFC 5280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile за определениями полей и расширений 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) | Определяет, должен ли быть выбран 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()
Создаёт объект. Изначально критерии не заданы, поэтому любой CRL будет соответствовать.
Методы
setIssuers
public void setIssuers(Collection<X500Principal> issuers)
Устанавливает критерий issuerNames. Имя эмитента в X509CRL должно соответствовать хотя бы одному из указанных имён. Если null, подойдёт любое имя эмитента.
Этот метод позволяет вызывающей стороне указать полный набор имён эмитентов, которые X509CRLs может содержать. Указанное значение заменяет предыдущее значение для критерия issuerNames.
Параметр names (если не null) — Collection X500Principal.
Обратите внимание, что параметр names может содержать дублирующиеся имена, но они могут быть удалены из Collection имён, возвращаемых методом getIssuers.
Обратите внимание, что выполняется копия Collection, чтобы предотвратить последующие изменения.
- Параметры:
-
issuers- aCollectionX500Principals (или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- aCollectionимён (или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-номера, значение которого меньше или равно указанному значению. Если 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.
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/cert/X509CRLSelector.html