Класс 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()

Создаёт объект 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 - a Collection X500Principals (или 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 - a 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-номера, значение которого меньше или равно указанному значению. Если 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/cert/X509CRLSelector.html

Spec-Zone .ru
спецификации, руководства, описания, API