Spec-Zone.ru › OpenJDK 27

Класс X509CRLSelector

java.lang.Object
java.security.cert.X509CRLSelector
Все реализуемые интерфейсы:
Cloneable, CRLSelector
public class X509CRLSelector extends Object implements CRLSelector
Объект CRLSelector, который выбирает X509CRLs, соответствующие всем заданным критериям. Этот класс особенно полезен при выборе CRL из CertStore для проверки статуса отзыва конкретного сертификата.

При создании объект X509CRLSelector не имеет включенных критериев, и каждый из методов get возвращает значение по умолчанию (null). Поэтому метод match будет возвращать true для любого объекта X509CRL. Обычно включают несколько критериев (например, вызывая setIssuers или setDateAndTime), после чего объект X509CRLSelector передают методу CertStore.getCRLs или аналогичному методу.

Определения полей и расширений X.509 CRL, упомянутых ниже, см. в RFC 5280: профиль инфраструктуры открытых ключей Internet X.509: сертификаты и списки отзыва сертификатов (CRL).

Параллельный доступ

Если не указано иное, методы, определенные в этом классе, не являются потокобезопасными. Несколько потоков, которым требуется одновременно обращаться к одному объекту, должны синхронизироваться между собой и обеспечивать необходимую блокировку. Потокам, каждый из которых работает с отдельными объектами, синхронизация не требуется.

Начиная с:
1.4
Внешние спецификации
  • RFC 5280: профиль инфраструктуры открытых ключей Internet X.509: сертификаты и списки отзыва сертификатов (CRL)
См. также:
  • 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()
Возвращает печатное представление объекта X509CRLSelector.

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения объекта Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

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 — Collection X500Principal (или 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 — если произошла ошибка разбора
Внешние спецификации
  • RFC 2253: облегченный протокол доступа к каталогам (версия 3): представление различительных имен в виде строк UTF-8
См. также:
  • getIssuerNames()

addIssuer

public void addIssuer(X500Principal issuer)
Добавляет имя в критерий issuerNames. Различительное имя издателя в объекте 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 некоторых различительных имен.
Добавляет имя в критерий issuerNames. Различительное имя издателя в объекте X509CRL должно совпадать хотя бы с одним из заданных различительных имен.

Этот метод позволяет вызывающему коду добавить имя в набор имен издателей, которые может содержать X509CRLs. Указанное имя добавляется к предыдущему значению критерия issuerNames. Если указанное имя уже присутствует, оно может быть проигнорировано.

Параметры:
name — имя в формате RFC 2253
Исключения:
IOException — если произошла ошибка разбора
Внешние спецификации
  • RFC 2253: облегченный протокол доступа к каталогам (версия 3): представление различительных имен в виде строк UTF-8

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(Collection)

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)
Внешние спецификации
  • RFC 2253: облегченный протокол доступа к каталогам (версия 3): представление различительных имен в виде строк UTF-8
См. также:
  • setIssuerNames(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(Date)

getCertificateChecking

public X509Certificate getCertificateChecking()
Возвращает проверяемый сертификат. Это не критерий, а дополнительная необязательная информация, которая может помочь объекту CertStore найти CRL, имеющие отношение к проверке отзыва указанного сертификата. Если возвращается значение null, такая дополнительная информация не предоставляется.
Возвращает:
проверяемый сертификат (или null)
См. также:
  • setCertificateChecking(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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API