Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class X509CRL extends CRL implements X509Extension
Абстрактный class для Списка аннулированных сертификатов X.509 (CRL). CRL является списком с меткой времени, идентифицирующим отменяемые сертификаты. Это подписывается Центром сертификации (CA) и делается в свободном доступе в общедоступном репозитарии.
Каждый отменяемый сертификат идентифицируется в CRL его порядковым номером сертификата. Когда использующая сертификат система использует сертификат (например, для того, чтобы проверить цифровую подпись удаленного пользователя), та система не только проверяет подпись сертификата и законность, но также и получает соответственно - недавний CRL и проверяет, что порядковый номер сертификата не находится на том CRL. Значение "соответственно недавних" может меняться в зависимости от локальной политики, но это обычно означает выпущенный последний раз CRL. CA выпускает новый CRL на регулярной периодической основе (например, ежечасно, ежедневно, или еженедельно). Записи добавляются к CRL, поскольку аннулирования происходят, и запись может быть удалена, когда дата истечения срока сертификата достигается.
X.509 v2 формат CRL описывается ниже в ASN.1:
CertificateList ::= SEQUENCE { tbsCertList TBSCertList, signatureAlgorithm AlgorithmIdentifier, signature BIT STRING }
Больше информации может быть найдено в
Определение ASN.1 tbsCertList
:
TBSCertList ::= SEQUENCE { version Version OPTIONAL, -- if present, must be v2 signature AlgorithmIdentifier, issuer Name, thisUpdate ChoiceOfTime, nextUpdate ChoiceOfTime OPTIONAL, revokedCertificates SEQUENCE OF SEQUENCE { userCertificate CertificateSerialNumber, revocationDate ChoiceOfTime, crlEntryExtensions Extensions OPTIONAL -- if present, must be v2 } OPTIONAL, crlExtensions [0] EXPLICIT Extensions OPTIONAL -- if present, must be v2 }
CRL инстанцируют, используя фабрику сертификата. Следующее является примером того, как инстанцировать CRL X.509:
try (InputStream inStream = new FileInputStream("fileName-of-crl")) {
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509CRL crl = (X509CRL)cf.generateCRL(inStream);
}
CRL
, CertificateFactory
, X509Extension
Модификатор | Конструктор и Описание |
---|---|
protected |
X509CRL()
Конструктор для CRL X.509.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object other)
Сравнивает этот CRL для равенства с данным объектом.
|
abstract byte[] |
getEncoded()
Возвращает ASN.1 DER-закодированная форма этого CRL.
|
abstract Principal |
getIssuerDN()
Клеветавший, замененный getIssuerX500Principal ().
|
X500Principal |
getIssuerX500Principal()
Возвращает выпускающего (отличительное имя выпускающего) значение от CRL как
X500Principal . |
abstract Date |
getNextUpdate()
Добирается
nextUpdate дата от CRL. |
abstract X509CRLEntry |
getRevokedCertificate(BigInteger serialNumber)
Получает запись CRL, если таковые вообще имеются, с данным сертификатом serialNumber.
|
X509CRLEntry |
getRevokedCertificate(X509Certificate certificate)
Получите запись CRL, если таковые вообще имеются, для данного сертификата.
|
abstract Set<? extends X509CRLEntry> |
getRevokedCertificates()
Получает все записи от этого CRL.
|
abstract String |
getSigAlgName()
Получает имя алгоритма подписи для алгоритма подписи CRL.
|
abstract String |
getSigAlgOID()
Получает строку OID алгоритма подписи от CRL.
|
abstract byte[] |
getSigAlgParams()
Получает DER-закодированные параметры алгоритма подписи от алгоритма подписи этого CRL.
|
abstract byte[] |
getSignature()
Добирается
signature значение (необработанные биты подписи) от CRL. |
abstract byte[] |
getTBSCertList()
Получает DER-закодированную информацию CRL,
tbsCertList от этого CRL. |
abstract Date |
getThisUpdate()
Добирается
thisUpdate дата от CRL. |
abstract int |
getVersion()
Добирается
version (номер версии) значение от CRL. |
int |
hashCode()
Возвращает значение хэш-кода для этого CRL от его закодированной формы.
|
abstract void |
verify(PublicKey key)
Проверяет, что этот CRL был подписан, используя закрытый ключ, который соответствует данному открытому ключу.
|
void |
verify(PublicKey key, Provider sigProvider)
Проверяет, что этот CRL был подписан, используя закрытый ключ, который соответствует данному открытому ключу.
|
abstract void |
verify(PublicKey key, String sigProvider)
Проверяет, что этот CRL был подписан, используя закрытый ключ, который соответствует данному открытому ключу.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getCriticalExtensionOIDs, getExtensionValue, getNonCriticalExtensionOIDs, hasUnsupportedCriticalExtension
public boolean equals(Object other)
other
объект instanceof
X509CRL
, тогда его закодированная форма получается и по сравнению с закодированной формой этого CRL.equals
в class Object
other
- объект протестировать на равенство с этим CRL.Object.hashCode()
, HashMap
public int hashCode()
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public abstract byte[] getEncoded() throws CRLException
CRLException
- если ошибка кодирования происходит.public abstract void verify(PublicKey key) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException
key
- PublicKey имел обыкновение выполнять проверку.NoSuchAlgorithmException
- на неподдерживаемых алгоритмах подписи.InvalidKeyException
- на неправильном ключе.NoSuchProviderException
- если нет никакого провайдера значения по умолчанию.SignatureException
- на ошибках подписи.CRLException
- при кодировании ошибок.public abstract void verify(PublicKey key, String sigProvider) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException
key
- PublicKey имел обыкновение выполнять проверку.sigProvider
- имя провайдера подписи.NoSuchAlgorithmException
- на неподдерживаемых алгоритмах подписи.InvalidKeyException
- на неправильном ключе.NoSuchProviderException
- на неправильном провайдере.SignatureException
- на ошибках подписи.CRLException
- при кодировании ошибок.public void verify(PublicKey key, Provider sigProvider) throws CRLException, NoSuchAlgorithmException, InvalidKeyException, SignatureException
abstract
и это обеспечивает реализацию по умолчанию.key
- PublicKey имел обыкновение выполнять проверку.sigProvider
- провайдер подписи.NoSuchAlgorithmException
- на неподдерживаемых алгоритмах подписи.InvalidKeyException
- на неправильном ключе.SignatureException
- на ошибках подписи.CRLException
- при кодировании ошибок.public abstract int getVersion()
version
(номер версии) значение от CRL. Определение ASN.1 для этого: version Version OPTIONAL, -- if present, must be v2Version ::= INTEGER { v1(0), v2(1), v3(2) } -- v3 does not apply to CRLs but appears for consistency -- with definition of Version for certs
public abstract Principal getIssuerDN()
issuer
как реализация определенный Объект принципала, на который не должен положиться переносимый код. Добирается issuer
(отличительное имя выпускающего), оценивают от CRL. Имя выпускающего идентифицирует объект, который подписался (и вышел), CRL.
Поле имени выпускающего содержит отличительное имя 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
; вообще это будет a directoryString
. A directoryString
обычно один из PrintableString
, TeletexString
или UniversalString
.public X500Principal getIssuerX500Principal()
X500Principal
. Рекомендуется, чтобы подклассы переопределили этот метод.
X500Principal
представление отличительного имени выпускающегоpublic abstract Date getThisUpdate()
thisUpdate
дата от CRL. Определение ASN.1 для этого: thisUpdate ChoiceOfTime ChoiceOfTime ::= CHOICE { utcTime UTCTime, generalTime GeneralizedTime }
thisUpdate
дата от CRL.public abstract Date getNextUpdate()
nextUpdate
дата от CRL.nextUpdate
дата от CRL, или нуль, если не существующий.public abstract X509CRLEntry getRevokedCertificate(BigInteger serialNumber)
serialNumber
- порядковый номер сертификата, для которого должна искаться запись CRLX509CRLEntry
public X509CRLEntry getRevokedCertificate(X509Certificate certificate)
Этот метод может привыкнуть к записям CRL поиска в косвенных CRL, который означает CRL, которые содержат записи от выпускающих кроме выпускающего CRL. Реализация по умолчанию только возвратит записи для сертификатов, выпущенных выпускающим CRL. Подклассы, которые хотят поддерживать косвенные CRL, должны переопределить этот метод.
certificate
- сертификат, для которого должна искаться запись CRLNullPointerException
- если сертификат является нулемpublic abstract Set<? extends X509CRLEntry> getRevokedCertificates()
X509CRLEntry
public abstract byte[] getTBSCertList() throws CRLException
tbsCertList
от этого CRL. Это может использоваться, чтобы проверить подпись независимо.CRLException
- если ошибка кодирования происходит.public abstract byte[] getSignature()
signature
значение (необработанные биты подписи) от CRL. Определение ASN.1 для этого: signature BIT STRING
public abstract String getSigAlgName()
signatureAlgorithm AlgorithmIdentifierAlgorithmIdentifier ::= 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.
public abstract String getSigAlgOID()
См. getSigAlgName
для соответствующих определений ASN.1.
public abstract byte[] getSigAlgParams()
AlgorithmParameters
и инстанцируйте с именем, возвращенным getSigAlgName
. См. getSigAlgName
для соответствующих определений ASN.1.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92