Класс X509Certificate
- Все реализованные интерфейсы:
Serializable, BinaryEncodablePREVIEW, X509Extension
public abstract non-sealed class X509Certificate extends Certificate implements X509Extension, BinaryEncodablePREVIEW
Абстрактный класс для сертификатов 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).
Управление этими сертификатами и их заверение выполняют центры сертификации (CA). CA — это службы, которые создают сертификаты, помещая данные в стандартный формат X.509, а затем подписывая их цифровой подписью. CA выступают в качестве доверенных третьих сторон, устанавливая связь между субъектами, которые не знакомы друг с другом напрямую. Сертификаты CA подписываются либо самими этими CA, либо другим CA, например «корневым» CA.
Дополнительные сведения см. в RFC 5280: профиль сертификатов и списков отзыва сертификатов (CRL) инфраструктуры открытых ключей Internet 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
- Внешние спецификации
- См. также:
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в классе Certificate
Certificate.CertificateRep | Модификатор и тип | Класс | Описание |
|---|---|---|
protected static class |
Certificate.CertificateRep |
Альтернативный класс Certificate для сериализации. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор сертификатов X.509. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
checkValidity() |
Проверяет, действителен ли сертификат в данный момент. |
abstract void |
checkValidity |
Проверяет, входит ли указанная дата в период действия сертификата. |
abstract int |
getBasicConstraints() |
Возвращает длину пути ограничений сертификата из критического расширения BasicConstraints (OID = 2.5.29.19). |
List |
getExtendedKeyUsage() |
Возвращает неизменяемый список строк, представляющих идентификаторы объектов (OBJECT IDENTIFIER) поля ExtKeyUsageSyntax расширения расширенного использования ключа (OID = 2.5.29.37). |
Collection |
getIssuerAlternativeNames() |
Возвращает неизменяемую коллекцию альтернативных имён издателя из расширения IssuerAltName (OID = 2.5.29.18). |
abstract Principal |
getIssuerDN() |
Устарело. |
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 |
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 |
Проверяет, подписан ли этот сертификат с помощью закрытого ключа, соответствующего указанному открытому ключу. |
Методы, объявленные в классе Certificate
equals, getEncoded, getPublicKey, getType, hashCode, toString, verify, verify, writeReplace | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает этот сертификат на равенство с указанным объектом. |
abstract byte[] |
getEncoded() |
Возвращает закодированное представление этого сертификата. |
abstract PublicKey |
getPublicKey() |
Возвращает открытый ключ из этого сертификата. |
final String |
getType() |
Возвращает тип этого сертификата. |
int |
hashCode() |
Возвращает значение хеш-кода этого сертификата, вычисленное на основе его закодированного представления. |
abstract String |
toString() |
Возвращает строковое представление этого сертификата. |
abstract void |
verify |
Проверяет, подписан ли этот сертификат с помощью закрытого ключа, соответствующего указанному открытому ключу. |
abstract void |
verify |
Проверяет, подписан ли этот сертификат с помощью закрытого ключа, соответствующего указанному открытому ключу. |
protected Object |
writeReplace() |
Заменяет Certificate, подлежащий сериализации, объектом CertificateRep, содержащим тип и закодированные байты Certificate. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, запланировано к удалению: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе X509Extension
getCriticalExtensionOIDs, getExtensionValue, getNonCriticalExtensionOIDs, hasUnsupportedCriticalExtension | Модификатор и тип | Метод | Описание |
|---|---|---|
Set |
getCriticalExtensionOIDs() |
Возвращает набор строк OID расширений, помеченных как CRITICAL в сертификате/CRL, которым управляет объект, реализующий этот интерфейс. |
byte[] |
getExtensionValue |
Возвращает строку OCTET в кодировке DER для значения расширения (extnValue), идентифицируемого переданной строкой oid. |
Set |
getNonCriticalExtensionOIDs() |
Возвращает набор строк OID расширений, помеченных как NON-CRITICAL в сертификате/CRL, которым управляет объект, реализующий этот интерфейс. |
boolean |
hasUnsupportedCriticalExtension() |
Проверяет, есть ли неподдерживаемое критическое расширение. |
Подробное описание конструкторов
X509Certificate
protected X509Certificate()
Подробное описание методов
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. - См. также:
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 в виде зависящего от реализации объекта Principal, на который не следует полагаться в переносимом коде.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 описывает иерархическое имя, состоящее из атрибутов, например названия страны, и соответствующих значений, например US. Тип компонента 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 в виде зависящего от реализации объекта Principal, на который не следует полагаться в переносимом коде.subject (различительное имя субъекта) из сертификата. Если значение subject пусто, метод getName() возвращенного объекта Principal возвращает пустую строку (""). Определение ASN.1 для этого значения:
subject Name
Определения Name и другие относящиеся к делу определения см. в разделе getIssuerDN.
- Возвращает:
- 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 }
- Возвращает:
- дата начала периода действия.
- См. также:
getNotAfter
public abstract Date getNotAfter()
notAfter из периода действия сертификата. Соответствующие определения ASN.1 см. в разделе getNotBefore.- Возвращает:
- дата окончания периода действия.
- См. также:
getTBSCertificate
public abstract byte[] getTBSCertificate() throws CertificateEncodingException
tbsCertificate данного сертификата. Ее можно использовать для независимой проверки подписи.- Возвращает:
- закодированную в DER информацию о сертификате.
- Вызывает исключение:
-
CertificateEncodingException— если произошла ошибка кодирования.
getSignature
public abstract byte[] getSignature()
signature (исходные биты подписи) из сертификата. Определение ASN.1 для этого значения: signature BIT STRING
- Возвращает:
- подпись.
getSigAlgName
public abstract String getSigAlgName()
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
Название алгоритма определяется по строке OID algorithm.
- Возвращает:
- название алгоритма подписи.
getSigAlgOID
public abstract String getSigAlgOID()
Соответствующие определения ASN.1 см. в разделе getSigAlgName.
- Возвращает:
- строка OID алгоритма подписи.
- Внешние спецификации
getSigAlgParams
public abstract byte[] getSigAlgParams()
AlgorithmParameters и создайте экземпляр с именем, возвращенным методом getSigAlgName. Соответствующие определения ASN.1 см. в разделе getSigAlgName.
- Возвращает:
- закодированные в 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). Расширение использования ключа определяет назначение (например, шифрование, подпись, подписание сертификатов) ключа, содержащегося в сертификате. Определение 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
ExtKeyUsageSyntax расширения расширенного использования ключа (OID = 2.5.29.37). Он указывает одно или несколько назначений, для которых может использоваться сертифицированный открытый ключ, помимо основных назначений, указанных в поле расширения использования ключа, или вместо них. Определение 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). Расширение базовых ограничений указывает, является ли субъект сертификата центром сертификации (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
- Внешние спецификации
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
abstract и содержит реализацию по умолчанию.- Переопределяет:
-
verifyв классеCertificate - Параметры:
-
key— открытый ключ, используемый для проверки. -
sigProvider— поставщик алгоритма подписи. - Вызывает исключение:
-
NoSuchAlgorithmException— если алгоритмы подписи не поддерживаются. -
InvalidKeyException— если ключ неверен. -
SignatureException— при ошибках подписи. -
CertificateException— при ошибках кодирования. -
UnsupportedOperationException— если метод не поддерживается - Начиная с версии:
- 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.
getIssuerX500Principal().