Spec-Zone.ru › OpenJDK 24

Класс X509Certificate

java.lang.Object
java.security.cert.Certificate
java.security.cert.X509Certificate
Все реализуемые интерфейсы:
Serializable, X509Extension
public abstract class X509Certificate extends Certificate implements X509Extension

Абстрактный класс для сертификатов X.509. Он предоставляет стандартный способ доступа ко всем атрибутам сертификата X.509.

В июне 1996 года базовый формат X.509 v3 был завершен ISO/IEC и ANSI X9, который описан ниже в ASN.1:

 Certificate  ::=  SEQUENCE  {
     tbsCertificate       TBSCertificate,
     signatureAlgorithm   AlgorithmIdentifier,
     signature            BIT STRING  }
 

Эти сертификаты широко используются для поддержки аутентификации и других функций в системах безопасности Интернета. Общие приложения включают Privacy Enhanced Mail (PEM), Transport Layer Security (SSL), подпись кода для надежного распространения программного обеспечения и Secure Electronic Transactions (SET).

Эти сертификаты управляются и гарантируются удостоверяющими центрами (ЦС). ЦС — это службы, которые создают сертификаты, помещая данные в стандартный формат X.509, а затем цифровым образом подписывая эти данные. ЦС действуют в качестве доверенных третьих сторон, обеспечивая введение между принципалами, которые не имеют прямого знания друг друга. Сертификаты ЦС либо подписываются самими собой, либо другим ЦС, таким как «корневой» ЦС.

Дополнительную информацию можно найти в RFC 5280: Профили сертификатов и списков отозванных сертификатов (CRL) инфраструктуры открытых ключей X.509 Интернета.

Определение ASN.1 для tbsCertificate:

 TBSCertificate  ::=  SEQUENCE  {
     version         [0]  EXPLICIT Version DEFAULT v1,
     serialNumber         CertificateSerialNumber,
     signature            AlgorithmIdentifier,
     issuer               Name,
     validity             Validity,
     subject              Name,
     subjectPublicKeyInfo SubjectPublicKeyInfo,
     issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
                          -- If present, version must be v2 or v3
     subjectUniqueID [2]  IMPLICIT UniqueIdentifier OPTIONAL,
                          -- If present, version must be v2 or v3
     extensions      [3]  EXPLICIT Extensions OPTIONAL
                          -- If present, version must be v3
     }
 

Сертификаты создаются с помощью фабрики сертификатов. Ниже приведен пример создания сертификата X.509:

 try (InputStream inStream = new FileInputStream("fileName-of-cert")) {
     CertificateFactory cf = CertificateFactory.getInstance("X.509");
     X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
 }
 
С:
1.2
Внешние спецификации
  • RFC 5280: Профили сертификатов и списков отозванных сертификатов (CRL) инфраструктуры открытых ключей X.509 Интернета
См. также:
  • Certificate
  • CertificateFactory
  • X509Extension
  • Сериализованная форма

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.security.cert.Certificate

Certificate.CertificateRep

Краткое описание конструкторов

X509Certificate()
Модификатор Конструктор Описание
protected
Конструктор для сертификатов X.509.

Краткое описание методов

Модификатор и тип Метод Описание
abstract void checkValidity()
Проверяет, является ли сертификат в настоящее время действительным.
abstract void checkValidity(Date date)
Проверяет, попадает ли указанная дата в период действия сертификата.
abstract int getBasicConstraints()
Получает длину пути ограничений сертификата из критического BasicConstraints расширения (OID = 2.5.29.19).
List<String> getExtendedKeyUsage()
Получает неумодифицированный список строк, представляющих идентификаторы OBJECT, из поля ExtKeyUsageSyntax расширения расширенного использования ключа (OID = 2.5.29.37).
Collection<List<?>> getIssuerAlternativeNames()
Получает неизменяемую коллекцию альтернативных имён эмитента из расширения IssuerAltName (OID = 2.5.29.18).
abstract Principal getIssuerDN()
Устарело.
Используйте getIssuerX500Principal() вместо этого.
abstract boolean[] getIssuerUniqueID()
Получает значение issuerUniqueID из сертификата.
X500Principal getIssuerX500Principal()
Возвращает значение эмитента (имя отличительных свойств эмитента) из сертификата как X500Principal.
abstract boolean[] getKeyUsage()
Получает булеву массив, представляющий биты KeyUsage расширения (OID = 2.5.29.15).
abstract Date getNotAfter()
Получает notAfter дату из периода действия сертификата.
abstract Date getNotBefore()
Получает notBefore дату из периода действия сертификата.
abstract BigInteger getSerialNumber()
Получает значение serialNumber из сертификата.
abstract String getSigAlgName()
Получает имя алгоритма подписи для алгоритма подписи сертификата.
abstract String getSigAlgOID()
Получает строку OID алгоритма подписи из сертификата.
abstract byte[] getSigAlgParams()
Получает параметры алгоритма подписи в формате DER из алгоритма подписи этого сертификата.
abstract byte[] getSignature()
Получает значение signature (сырые биты подписи) из сертификата.
Collection<List<?>> getSubjectAlternativeNames()
Получает неизменяемую коллекцию альтернативных имён субъекта из расширения SubjectAltName (OID = 2.5.29.17).
abstract Principal getSubjectDN()
Устарело.
Используйте getSubjectX500Principal() вместо этого.
abstract boolean[] getSubjectUniqueID()
Получает значение subjectUniqueID из сертификата.
X500Principal getSubjectX500Principal()
Возвращает значение субъекта (имя отличительных свойств субъекта) из сертификата как X500Principal.
abstract byte[] getTBSCertificate()
Получает кодированные в DER данные информации о сертификате, tbsCertificate, из этого сертификата.
abstract int getVersion()
Получает version (номер версии) из сертификата.
void verify(PublicKey key, Provider sigProvider)
Проверяет, что этот сертификат был подписан с помощью закрытого ключа, соответствующего указанному открытому ключу.

Методы, объявленные в классе java.security.cert.Certificate

equals, getEncoded, getPublicKey, getType, hashCode, toString, verify, verify, writeReplace

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.security.cert.X509Extension

getCriticalExtensionOIDs, getExtensionValue, getNonCriticalExtensionOIDs, hasUnsupportedCriticalExtension

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

X509Certificate

protected X509Certificate()
Конструктор для сертификатов X.509.

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

checkValidity

public abstract void checkValidity() throws CertificateExpiredException, CertificateNotYetValidException
Проверяет, является ли сертификат в настоящее время действительным. Действителен, если текущая дата и время находятся в пределах срока действия, указанного в сертификате.

Срок действия состоит из двух значений даты/времени: начальной и конечной дат (и времени), в течение которых сертификат действителен. Определяется в ASN.1 как:

 validity             Validity

 Validity ::= SEQUENCE {
     notBefore      CertificateValidityDate,
     notAfter       CertificateValidityDate }

 CertificateValidityDate ::= CHOICE {
     utcTime        UTCTime,
     generalTime    GeneralizedTime }
 
Возбуждает:
CertificateExpiredException - если сертификат истек.
CertificateNotYetValidException - если сертификат еще не действителен.

checkValidity

public abstract void checkValidity(Date date) throws CertificateExpiredException, CertificateNotYetValidException
Проверяет, попадает ли заданная дата в срок действия сертификата. Другими словами, это определяет, был бы сертификат действителен в заданную дату/время.
Параметры:
date - дата, с которой сравнивается дата/время, чтобы определить действительность сертификата в этот момент.
Возбуждает:
CertificateExpiredException - если сертификат истек относительно предоставленной date.
CertificateNotYetValidException - если сертификат еще не действителен относительно предоставленной date.
См. также:
  • checkValidity()

getVersion

public abstract int getVersion()
Возвращает значение version (номер версии) из сертификата. Определение ASN.1 для этого:
 version  [0] EXPLICIT Version DEFAULT v1

 Version ::=  INTEGER  {  v1(0), v2(1), v3(2)  }
 
Возвращает:
номер версии, т.е. 1, 2 или 3.

getSerialNumber

public abstract BigInteger getSerialNumber()
Возвращает значение serialNumber из сертификата. Номер последовательности — целое число, присвоенное центром сертификации каждому сертификату. Он должен быть уникальным для каждого сертификата, выпущенного данным центром сертификации (т.е. имя издателя и номер последовательности идентифицируют уникальный сертификат). Определение ASN.1 для этого:
 serialNumber     CertificateSerialNumber

 CertificateSerialNumber  ::=  INTEGER
 
Возвращает:
номер последовательности.

getIssuerDN

@Deprecated(since="16") public abstract Principal getIssuerDN()
Устарело.
Используйте getIssuerX500Principal() вместо этого. Данный метод возвращает issuer как объект, специфичный для реализации, на котором не следует полагаться переносному коду.
Возвращает значение issuer (имя субъекта) из сертификата. Имя издателя идентифицирует сущность, которая подписала (и выпустила) сертификат.

Поле имени издателя содержит полное имя X.500 (DN). Определение ASN.1 для этого:

 issuer    Name

 Name ::= CHOICE { RDNSequence }
 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
 RelativeDistinguishedName ::=
     SET OF AttributeValueAssertion

 AttributeValueAssertion ::= SEQUENCE {
                               AttributeType,
                               AttributeValue }
 AttributeType ::= OBJECT IDENTIFIER
 AttributeValue ::= ANY
 
Name описывает иерархическое имя, состоящее из атрибутов, таких как страна, и соответствующих значений, таких как США. Тип компонента AttributeValue определяется AttributeType; как правило, это будет directoryString. directoryString обычно является одним из PrintableString, TeletexString или UniversalString.
Возвращает:
объект Principal, имя которого является именем издателя.

getIssuerX500Principal

public X500Principal getIssuerX500Principal()
Возвращает значение издателя (имя субъекта) из сертификата как X500Principal.

Рекомендуется, чтобы подклассы переопределяли этот метод.

Возвращает:
объект X500Principal, представляющий имя субъекта-издателя
С:
1.4

getSubjectDN

@Deprecated(since="16") public abstract Principal getSubjectDN()
Устарело.
Используйте getSubjectX500Principal() вместо этого. Данный метод возвращает subject как объект, специфичный для реализации, на котором не следует полагаться переносному коду.
Возвращает значение subject (имя субъекта) из сертификата. Если значение subject пусто, то метод getName() возвращаемого объекта Principal возвращает пустую строку ("").

Определение ASN.1 для этого:

 subject    Name
 

См. getIssuerDN для Name и других соответствующих определений.

Возвращает:
объект Principal, имя которого является именем субъекта.

getSubjectX500Principal

public X500Principal getSubjectX500Principal()
Возвращает значение субъекта (имя субъекта) из сертификата как X500Principal. Если значение субъекта пустое, то метод getName() возвращаемого объекта X500Principal возвращает пустую строку ("").

Рекомендуется, чтобы подклассы переопределяли этот метод.

Возвращает:
объект X500Principal, представляющий имя субъекта
С:
1.4

getNotBefore

public abstract Date getNotBefore()
Возвращает notBefore дату из срока действия сертификата. Соответствующие определения ASN.1:
 validity             Validity

 Validity ::= SEQUENCE {
     notBefore      CertificateValidityDate,
     notAfter       CertificateValidityDate }

 CertificateValidityDate ::= CHOICE {
     utcTime        UTCTime,
     generalTime    GeneralizedTime }
 
Возвращает:
начальную дату срока действия.
См. также:
  • checkValidity()

getNotAfter

public abstract Date getNotAfter()
Возвращает notAfter дату из срока действия сертификата. См. getNotBefore для соответствующих определений ASN.1.
Возвращает:
конечную дату срока действия.
См. также:
  • checkValidity()

getTBSCertificate

public abstract byte[] getTBSCertificate() throws CertificateEncodingException
Возвращает закодированную в DER информацию о сертификате, tbsCertificate этого сертификата. Это может быть использовано для независимой проверки подписи.
Возвращает:
закодированную в DER информацию о сертификате.
Возбуждает:
CertificateEncodingException - если произошла ошибка кодирования.

getSignature

public abstract byte[] getSignature()
Возвращает значение signature (сырые биты подписи) из сертификата. Определение ASN.1 для этого:
 signature     BIT STRING
 
Возвращает:
подпись.

getSigAlgName

public abstract String getSigAlgName()
Возвращает имя алгоритма подписи для алгоритма подписи сертификата. Пример: строка "SHA256withRSA". Определение ASN.1 для этого:
 signatureAlgorithm   AlgorithmIdentifier

 AlgorithmIdentifier  ::=  SEQUENCE  {
     algorithm               OBJECT IDENTIFIER,
     parameters              ANY DEFINED BY algorithm OPTIONAL  }
                             -- contains a value of the type
                             -- registered for use with the
                             -- algorithm object identifier value
 

Имя алгоритма определяется из строки algorithm OID.

Возвращает:
имя алгоритма подписи.

getSigAlgOID

public abstract String getSigAlgOID()
Возвращает строку OID алгоритма подписи из сертификата. OID представляется набором неотрицательных целых чисел, разделенных точками. Например, строка "1.2.840.10040.4.3" идентифицирует алгоритм подписи SHA-1 с DSA, определенный в RFC 3279: Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and CRL Profile.

См. getSigAlgName для соответствующих определений ASN.1.

Возвращает:
строку OID алгоритма подписи.
Внешние спецификации
  • RFC 3279: Алгоритмы и идентификаторы для сертификатов и списков отзыва сертификатов (CRL) инфраструктуры открытых ключей X.509 Интернета

getSigAlgParams

public abstract byte[] getSigAlgParams()
Возвращает закодированные в DER параметры алгоритма подписи из алгоритма подписи этого сертификата. В большинстве случаев параметры алгоритма подписи равны null; параметры обычно предоставляются с открытым ключом сертификата. Если необходимы значения отдельных параметров, используйте AlgorithmParameters и инициализируйте его именем, возвращенным getSigAlgName.

См. getSigAlgName для соответствующих определений ASN.1.

Возвращает:
закодированные в DER параметры алгоритма подписи или null, если параметры отсутствуют.

getIssuerUniqueID

public abstract boolean[] getIssuerUniqueID()
Получает значение issuerUniqueID из сертификата. Уникальный идентификатор издателя присутствует в сертификате для обработки возможности повторного использования имён издателей со временем. RFC 5280 рекомендует не повторно использовать имена и не использовать уникальные идентификаторы в соответствующих сертификатах. Приложения, соответствующие этому профилю, должны уметь анализировать уникальные идентификаторы и производить сравнения.

Следующее определение ASN.1:

 issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL

 UniqueIdentifier  ::=  BIT STRING
 
Возвращает:
уникальный идентификатор издателя или null, если он отсутствует в сертификате.

getSubjectUniqueID

public abstract boolean[] getSubjectUniqueID()
Получает значение subjectUniqueID из сертификата.

Следующее определение ASN.1:

 subjectUniqueID  [2]  IMPLICIT UniqueIdentifier OPTIONAL

 UniqueIdentifier  ::=  BIT STRING
 
Возвращает:
уникальный идентификатор субъекта или null, если он отсутствует в сертификате.

getKeyUsage

public abstract boolean[] getKeyUsage()
Получает булевый массив, представляющий биты расширения KeyUsage (OID = 2.5.29.15). Расширение key usage определяет назначение (например, шифрование, подпись, подписание сертификатов) ключа, содержащегося в сертификате. Следующее определение ASN.1:
 KeyUsage ::= BIT STRING {
     digitalSignature        (0),
     nonRepudiation          (1),
     keyEncipherment         (2),
     dataEncipherment        (3),
     keyAgreement            (4),
     keyCertSign             (5),
     cRLSign                 (6),
     encipherOnly            (7),
     decipherOnly            (8) }
 
RFC 5280 рекомендует при использовании помечать его как критическое расширение.
Возвращает:
расширение KeyUsage этого сертификата, представленное как массив булевых значений. Порядок значений KeyUsage в массиве соответствует порядку в определении ASN.1 выше. Массив будет содержать значение для каждого определённого выше KeyUsage. Если список KeyUsage, закодированный в сертификате, длиннее указанного выше списка, он не будет усечён. Возвращает null, если этот сертификат не содержит расширения KeyUsage.

getExtendedKeyUsage

public List<String> getExtendedKeyUsage() throws CertificateParsingException
Получает неизменяемый список строк, представляющих OBJECT IDENTIFIERы поля ExtKeyUsageSyntax расширения extended key usage (OID = 2.5.29.37). Оно указывает одно или несколько назначений, для которых сертифицированный открытый ключ может быть использован, помимо или вместо основных назначений, указанных в поле key usage. Следующее определение ASN.1:
 ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId

 KeyPurposeId ::= OBJECT IDENTIFIER
 
Назначение ключей может быть определено любой организацией, имеющей в этом необходимость. Объектные идентификаторы, используемые для идентификации назначений ключей, должны быть назначены в соответствии с IANA или ITU-T Rec. X.660 | ISO/IEC/ITU 9834-1.

Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод не является abstract и предоставляет реализацию по умолчанию. Подклассы должны переопределить этот метод с корректной реализацией.

Возвращает:
расширение ExtendedKeyUsage этого сертификата как неизменяемый список объектных идентификаторов, представленных в виде строк. Возвращает null, если этот сертификат не содержит расширения ExtendedKeyUsage.
Исключения:
CertificateParsingException - если расширение не может быть декодировано
С:
1.4

getBasicConstraints

public abstract int getBasicConstraints()
Получает длину пути ограничений сертификата из критического расширения BasicConstraints (OID = 2.5.29.19).

Расширение basic constraints определяет, является ли субъект сертификата центром сертификации (CA) и насколько глубоким может быть путь сертификации через этот CA. Поле pathLenConstraint (см. ниже) имеет смысл только если cA установлено в TRUE. В этом случае оно даёт максимальное количество сертификатов CA, которые могут следовать за этим сертификатом в пути сертификации. Значение 0 указывает, что в пути может следовать только сертификат конечного пользователя.

Следующее определение ASN.1:

 BasicConstraints ::= SEQUENCE {
     cA                  BOOLEAN DEFAULT FALSE,
     pathLenConstraint   INTEGER (0..MAX) OPTIONAL }
 
Возвращает:
значение pathLenConstraint, если расширение BasicConstraints присутствует в сертификате и субъект сертификата является CA, иначе -1. Если субъект сертификата является CA и pathLenConstraint не указано, возвращается Integer.MAX_VALUE, чтобы указать отсутствие ограничения на длину пути сертификации.

getSubjectAlternativeNames

public Collection<List<?>> getSubjectAlternativeNames() throws CertificateParsingException
Получает неизменяемую коллекцию альтернативных имён субъекта из расширения SubjectAltName (OID = 2.5.29.17).

Определение ASN.1 расширения SubjectAltName:

 SubjectAltName ::= GeneralNames

 GeneralNames :: = SEQUENCE SIZE (1..MAX) OF GeneralName

 GeneralName ::= CHOICE {
      otherName                       [0]     OtherName,
      rfc822Name                      [1]     IA5String,
      dNSName                         [2]     IA5String,
      x400Address                     [3]     ORAddress,
      directoryName                   [4]     Name,
      ediPartyName                    [5]     EDIPartyName,
      uniformResourceIdentifier       [6]     IA5String,
      iPAddress                       [7]     OCTET STRING,
      registeredID                    [8]     OBJECT IDENTIFIER}

 OtherName ::= SEQUENCE {
      type-id    OBJECT IDENTIFIER,
      value      [0] EXPLICIT ANY DEFINED BY type-id }
 

Если этот сертификат не содержит расширения SubjectAltName, возвращается null. В противном случае возвращается Collection с записью, представляющей каждый GeneralName, включённый в расширение. Каждая запись представляет собой List, первая запись которой — Integer (тип имени, 0-8), а вторая — String или массив байтов (имя, в строковом или ASN.1 DER-закодированном формате соответственно). В зависимости от типа имени могут существовать дополнительные записи.

Имена RFC 822, DNS и URI возвращаются как String, используя устоявшиеся строковые форматы для этих типов (с учётом ограничений, включённых в RFC 5280). Имена адресов IPv4 возвращаются в формате точки с запятой. Имена адресов IPv6 возвращаются в форме «a1:a2:...:a8», где a1-a8 — шестнадцатеричные значения, представляющие восемь 16-битных частей адреса. Имена OID возвращаются как String, представленные последовательностью неотрицательных целых чисел, разделённых точками. Имена каталога (различительные имена) возвращаются в строковом формате RFC 2253. Стандартный строковый формат не определён для имён X.400 или имён сторон EDI. Они возвращаются как массивы байтов, содержащие ASN.1 DER-закодированный формат имени. otherNames также возвращаются как массивы байтов, содержащие ASN.1 DER-закодированный формат имени. В списке также может присутствовать третья запись, содержащая type-id otherName в строковом формате, и четвёртая запись, содержащая его value либо как строку (если значение является допустимой поддерживаемой строкой символов), либо как массив байтов, содержащий ASN.1 DER-закодированный формат значения без контекстно-специфического построенного тега с номером 0.

Обратите внимание, что возвращаемый Collection может содержать более одного имени одного типа. Также обратите внимание, что возвращаемый Collection неизменяемый, и любые записи, содержащие массивы байтов, дублируются для защиты от последующих изменений.

Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод не является abstract и предоставляет реализацию по умолчанию. Подклассы должны переопределить этот метод с корректной реализацией.

Примечание реализации:
Поставщик JDK SUN поддерживает третью и четвёртую записи otherName.
Возвращает:
неизменяемую Collection альтернативных имён субъекта (или null)
Исключения:
CertificateParsingException - если расширение не может быть декодировано
С:
1.4
Внешние спецификации
  • RFC 2253: Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names
  • RFC 822: STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES

getIssuerAlternativeNames

public Collection<List<?>> getIssuerAlternativeNames() throws CertificateParsingException
Получает неизменяемую коллекцию альтернативных имён издателя из расширения IssuerAltName (OID = 2.5.29.18).

Определение ASN.1 расширения IssuerAltName:

 IssuerAltName ::= GeneralNames
 
Определение ASN.1 для GeneralNames определено в getSubjectAlternativeNames.

Если этот сертификат не содержит расширения IssuerAltName, возвращается null. В противном случае возвращается Collection с записью, представляющей каждый GeneralName, включённый в расширение. Каждая запись представляет собой List, первая запись которой — Integer (тип имени, 0-8), а вторая — String или массив байтов (имя, в строковом или ASN.1 DER-закодированном формате соответственно). Дополнительные записи могут существовать в зависимости от типа имени. Для получения более подробной информации о форматах, используемых для каждого типа имени, см. метод getSubjectAlternativeNames.

Обратите внимание, что возвращаемый Collection может содержать более одного имени одного типа. Также обратите внимание, что возвращаемый Collection неизменяемый, и любые записи, содержащие массивы байтов, дублируются для защиты от последующих изменений.

Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод не является abstract и предоставляет реализацию по умолчанию. Подклассы должны переопределить этот метод с корректной реализацией.

Возвращает:
неизменяемую Collection альтернативных имён издателя (или null)
Исключения:
CertificateParsingException - если расширение не может быть декодировано
С:
1.4

verify

public void verify(PublicKey key, Provider sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException
Проверяет, что этот сертификат был подписан с использованием закрытого ключа, соответствующего указанному открытому ключу. Этот метод использует движок проверки подписи, предоставленный указанным поставщиком. Обратите внимание, что указанный объект поставщика не обязательно должен быть зарегистрирован в списке поставщиков. Этот метод был добавлен в версию 1.8 Java Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод не abstract и предоставляет реализацию по умолчанию.
Overrides:
verify в классе Certificate
Parameters:
key - открытый ключ, используемый для проведения проверки.
sigProvider - поставщик подписи.
Throws:
NoSuchAlgorithmException - при недопустимых алгоритмах подписи.
InvalidKeyException - при некорректном ключе.
SignatureException - при ошибках подписи.
CertificateException - при ошибках кодирования.
UnsupportedOperationException - если метод не поддерживается
Since:
1.8

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/cert/X509Certificate.html

Spec-Zone.ru

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