public abstract class X509Certificate extends Certificate implements X509Extension
X.509èšŒææžã®æœè±¡ã¯ã©ã¹ã§ãã ãã®ã¯ã©ã¹ã¯ãX.509èšŒææžã®ãã¹ãŠã®å±æ§ã«ã¢ã¯ã»ã¹ããããã®æšæºçãªæ¹æ³ãæäŸããŸãã
åºæ¬çãªX.509 v3圢åŒã¯ã1996幎6æã«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 3280ãInternet X.509 Public Key Infrastructure Certificate and CRL Profileããåç §ããŠãã ããã
tbsCertificateã®ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
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);
}
Certificate, CertificateFactory, X509Extension, çŽååããã圢åŒCertificate.CertificateRep| 修食å | ã³ã³ã¹ãã©ã¯ã¿ | 説æ |
|---|---|---|
protected |
X509Certificate() |
X.509èšŒææžã®ã³ã³ã¹ãã©ã¯ã¿ã§ãã
|
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
abstract void |
checkValidity() |
èšŒææžãçŸåšæå¹ã§ãããã©ãããå€å®ããŸãã
|
abstract void |
checkValidity(Date date) |
æå®ãããæ¥ä»ããèšŒææžã®æå¹æéå
ã§ãããã©ãããå€å®ããŸãã
|
abstract int |
getBasicConstraints() |
ã¯ãªãã£ã«ã«ãª
BasicConstraintsæ¡åŒµæ©èœ(OID = 2.5.29.19)ããèšŒææžã®å¶çŽã®ãã¹ã®é·ããååŸããŸãã |
List<String> |
getExtendedKeyUsage() |
æ¡åŒµããŒäœ¿çšæ³ã®æ¡åŒµæ©èœ(OID = 2.5.29.37)ã«ãã
ExtKeyUsageSyntaxãã£ãŒã«ãã®ãªããžã§ã¯ãèå¥åã衚ã倿Žäžå¯èœãªStringã®ãªã¹ããååŸããŸãã |
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)ã®ãããã衚ãbooleané
åãååŸããŸãã |
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) |
æå®ãããå
¬éããŒã«å¯Ÿå¿ããéå
¬éããŒã䜿ã£ãŠããã®èšŒææžã眲åãããããšãæ€èšŒããŸãã
|
equals, getEncoded, getPublicKey, getType, hashCode, toString, verify, verify, writeReplaceclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetCriticalExtensionOIDs, getExtensionValue, getNonCriticalExtensionOIDs, hasUnsupportedCriticalExtensionprotected X509Certificate()
public abstract void checkValidity()
throws CertificateExpiredException,
CertificateNotYetValidException
æå¹æéã¯ãèšŒææžãæå¹ã§ããæåã®æ¥æãšæåŸã®æ¥æã®2ã€ã®æ¥æå€ããæããŸãã ããã¯ASN.1ã§æ¬¡ã®ããã«å®çŸ©ãããŸãã
validity Validity
Validity ::= SEQUENCE {
notBefore CertificateValidityDate,
notAfter CertificateValidityDate }
CertificateValidityDate ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
CertificateExpiredException - èšŒææžã®æå¹æéãåããŠããå ŽåãCertificateNotYetValidException - èšŒææžããŸã æå¹ã«ãªã£ãŠããªãå Žåãpublic abstract void checkValidity(Date date) throws CertificateExpiredException, CertificateNotYetValidException
date - æå®ãããæ¥æã«ãã®èšŒææžãæå¹ã§ãããã©ããã調ã¹ãDateãCertificateExpiredException - æå®ãããdateã«èšŒææžãæéåãã«ãªã£ãŠããå ŽåãCertificateNotYetValidException - æå®ãããdateã«èšŒææžããŸã æå¹ã«ãªã£ãŠããªãå ŽåãcheckValidity()public abstract int getVersion()
version (ããŒãžã§ã³çªå·)å€ãååŸããŸãã ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
version [0] EXPLICIT Version DEFAULT v1
Version ::= INTEGER { v1(0), v2(1), v3(2) }
public abstract BigInteger getSerialNumber()
serialNumberå€ãååŸããŸãã ã·ãªã¢ã«çªå·ã¯ãèšŒææžçºè¡å±ã«ãã£ãŠåèšŒææžã«å²ãåœãŠãããæŽæ°å€ã§ãã ã·ãªã¢ã«çªå·ã¯ãæå®ãããCAã«ãã£ãŠçºè¡ãããåèšŒææžã«å¯ŸããŠäžæã§ããå¿
èŠããããŸããã€ãŸããçºè¡è
åãšã·ãªã¢ã«çªå·ã«ãã£ãŠäžæã®èšŒææžãèå¥ãããŸãã ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
serialNumber CertificateSerialNumber CertificateSerialNumber ::= INTEGER
public abstract Principal getIssuerDN()
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ã®ããããã§ãã public X500Principal getIssuerX500Principal()
X500PrincipalãšããŠè¿ããŸãã
ãµãã¯ã©ã¹ã§ãã®ã¡ãœããããªãŒããŒã©ã€ãããããšããèŠãããŸãã
X500Principalpublic abstract Principal getSubjectDN()
subjectãå®è£
åºæã®Principalãªããžã§ã¯ããšããŠè¿ããŸããç§»æ€æ§ã®ããã³ãŒãããã®ãããªãªããžã§ã¯ãã«äŸåãã¹ãã§ã¯ãããŸããã
èšŒææžããsubject (ãµããžã§ã¯ãèå¥å)å€ãååŸããŸãã subjectå€ã空ã®å Žåãè¿ãããPrincipalãªããžã§ã¯ãã®getName()ã¡ãœããã¯ç©ºã®æåå("")ãè¿ããŸãã
ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
subject Name
Nameããã³ãã®ä»ã®é¢é£ããå®çŸ©ã«ã€ããŠã¯ãgetIssuerDNãåç
§ããŠãã ããã
public X500Principal getSubjectX500Principal()
X500PrincipalãšããŠè¿ããŸãã ãµããžã§ã¯ãå€ã空ã®å Žåãè¿ãããX500Principalãªããžã§ã¯ãã®getName()ã¡ãœããã¯ç©ºã®æåå("")ãè¿ããŸãã
ãµãã¯ã©ã¹ã§ãã®ã¡ãœããããªãŒããŒã©ã€ãããããšããèŠãããŸãã
X500Principalpublic abstract Date getNotBefore()
notBeforeã®æ¥ä»ãååŸããŸãã 該åœããASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
validity Validity
Validity ::= SEQUENCE {
notBefore CertificateValidityDate,
notAfter CertificateValidityDate }
CertificateValidityDate ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
checkValidity()public abstract Date getNotAfter()
notAfterã®æ¥ä»ãååŸããŸãã 該åœããASN.1å®çŸ©ã«ã€ããŠã¯ãgetNotBeforeãåç
§ããŠãã ããã checkValidity()public abstract byte[] getTBSCertificate()
throws CertificateEncodingException
tbsCertificateãååŸããŸãã ãã®æ
å ±ã¯çœ²åãåå¥ã«æ€èšŒããããã«äœ¿çšãããŸãã CertificateEncodingException - 笊å·åãšã©ãŒãçºçããå Žåãpublic abstract byte[] getSignature()
signatureå€(çã®ã·ã°ããã£ã»ããã)ãååŸããŸãã ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
signature BIT STRING
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
ã¢ã«ãŽãªãºã åã¯algorithm OIDæååããå€å®ãããŸãã
public abstract String getSigAlgOID()
該åœããASN.1å®çŸ©ã«ã€ããŠã¯ãgetSigAlgNameãåç
§ããŠãã ããã
public abstract byte[] getSigAlgParams()
AlgorithmParametersã䜿çšããgetSigAlgNameã«ãã£ãŠè¿ãããååã䜿ã£ãŠã€ã³ã¹ã¿ã³ã¹ãçæããŸãã
該åœããASN.1å®çŸ©ã«ã€ããŠã¯ãgetSigAlgNameãåç
§ããŠãã ããã
public abstract boolean[] getIssuerUniqueID()
issuerUniqueIDå€ãååŸããŸãã çºè¡è
åºæã®èå¥åã¯ãçºè¡è
åãç¹°è¿ãå䜿çšãããå¯èœæ§ã«å¯ŸåŠããããã«ãèšŒææžã«å®çŸ©ãããŠããŸãã RFC 3280ã§ã¯ãååãå䜿çšããªãããšãããã³æºæ ããèšŒææžãäžæã®èå¥åã䜿çšããªãããšãæšå¥šããŠããŸãã ãã®ãããã¡ã€ã«ã«æºæ ããã¢ããªã±ãŒã·ã§ã³ã¯ãäžæã®èå¥åãè§£æããã³æ¯èŒã§ããããšãå¿
èŠã§ãã
ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL UniqueIdentifier ::= BIT STRING
public abstract boolean[] getSubjectUniqueID()
subjectUniqueIDå€ãååŸããŸãã
ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL UniqueIdentifier ::= BIT STRING
public abstract boolean[] getKeyUsage()
KeyUsageæ¡åŒµæ©èœ(OID = 2.5.29.15)ã®ãããã衚ãbooleané
åãååŸããŸãã ããŒäœ¿çšç®çã®æ¡åŒµæ©èœã¯ãèšŒææžã«èšå®ãããŠããããŒã®äœ¿çšç®ç(æå·çšã眲åçšãèšŒææžçœ²åçšãªã©)ãå®çŸ©ããŸãã ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
KeyUsage ::= BIT STRING {
digitalSignature (0),
nonRepudiation (1),
keyEncipherment (2),
dataEncipherment (3),
keyAgreement (4),
keyCertSign (5),
cRLSign (6),
encipherOnly (7),
decipherOnly (8) }
RFC 3280ã§ã¯ãããã䜿çšããå Žåã¯ã¯ãªãã£ã«ã«ãªæ¡åŒµãšããŠããŒãã³ã°ããããšãæšå¥šããŠããŸããpublic List<String> getExtendedKeyUsage() throws CertificateParsingException
ExtKeyUsageSyntaxãã£ãŒã«ãã®ãªããžã§ã¯ãèå¥åã衚ã倿Žäžå¯èœãªStringã®ãªã¹ããååŸããŸãã ããã¯ãããŒäœ¿çšæ³ã®æ¡åŒµæ©èœãã£ãŒã«ãã«ç€ºãããŠããåºæ¬çãªç®çã«å ããŠããããã¯ãã®åºæ¬çãªç®çã®ä»£ããã«ãå
¬éããŒã䜿ãããç®ç(è€æ°å¯)ã衚ããŸãã ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId KeyPurposeId ::= OBJECT IDENTIFIERããŒã®ç®çã¯ãããŒãºã«åãããŠçµç¹ã§å®çŸ©ããŸãã ããŒã®ç®çãç¹å®ãããªããžã§ã¯ãèå¥åã¯ãIANAãŸãã¯ITU-Tã®Rec. X.660ããããã¯ISO/IEC/ITU 9834-1ã«åŸã£ãŠå²ãåœãŠãããªããã°ãããŸããã
ãã®ã¡ãœããã¯ãJava 2 Platform Standard Editionã®ããŒãžã§ã³1.4ã§è¿œå ãããŸããã æ¢åã®ãµãŒãã¹ã»ãããã€ããšã®äžäœäºææ§ãç¶æããããããã®ã¡ãœããã¯abstractã§ã¯ãªããããã©ã«ãã®å®è£
ãæäŸããŸãã ãµãã¯ã©ã¹ã¯æ£ããå®è£
ã§ãã®ã¡ãœããããªãŒããŒã©ã€ãããªããã°ãããŸããã
CertificateParsingException - æ¡åŒµæ©èœã埩å·åã§ããªãã£ãå Žåpublic abstract int getBasicConstraints()
BasicConstraintsæ¡åŒµæ©èœ(OID = 2.5.29.19)ããèšŒææžã®å¶çŽã®ãã¹ã®é·ããååŸããŸãã
åºæ¬å¶çŽæ¡åŒµæ©èœã¯ãèšŒææžã®ãµããžã§ã¯ããèšŒææžçºè¡å±(CA)ã§ãããã©ãããããã³ãã®CAã®èšŒææžãã¹ã®æ·±ããèå¥ããŸãã pathLenConstraintãã£ãŒã«ã(äžèšãåç
§)ã¯ãcAãTRUEã«èšå®ãããŠããå Žåã«ã ãæå¹ã§ãã ãã®å ŽåãèšŒææžãã¹ã§ãã®èšŒææžã®ããšã«ç¶ãCAèšŒææžã®æå€§æ°ã瀺ããŸãã å€0ã¯ããšã³ãã»ãšã³ãã£ãã£ã®èšŒææžã ãã§ããããšã瀺ããŸãã
ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
BasicConstraints ::= SEQUENCE {
cA BOOLEAN DEFAULT FALSE,
pathLenConstraint INTEGER (0..MAX) OPTIONAL }
pathLenConstraintã®å€ã§ãããã§ãªãå Žå㯠-1ã ãµããžã§ã¯ããCAã§pathLenConstraintã衚瀺ãããªãå Žåã¯ãèšŒææžãã¹ã®é·ãã«å¶éããªãããšã瀺ãããInteger.MAX_VALUEãè¿ããã public Collection<List<?>> getSubjectAlternativeNames() throws CertificateParsingException
SubjectAltNameæ¡åŒµæ©èœ(OID = 2.5.29.17)ããããµããžã§ã¯ãã®ä»£æ¿åã®äžå€ãªã³ã¬ã¯ã·ã§ã³ãååŸããŸãã
SubjectAltNameæ¡åŒµæ©èœã®ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
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}
ãã®èšŒææžã«SubjectAltNameæ¡åŒµæ©èœãå«ãŸããªãå Žåã¯ãnullãè¿ãããŸãã ããã§ãªãå Žåã¯ãæ¡åŒµæ©èœã«å«ãŸããåGeneralNameã衚ããšã³ããªãå«ãCollectionãè¿ãããŸãã åãšã³ããªã¯Listã§ããã®æåã®ãšã³ããªã¯Integer (ååã¿ã€ãã0-8)ã2çªç®ã®ãšã³ããªã¯Stringããã€ãé
å(ãããããæåå圢åŒãŸãã¯ASN.1 DER笊å·å圢åŒã®åå)ã«ãªããŸãã
RFC 822ãDNSãURIã®åååã¯StringãšããŠè¿ãããŸãããã®ãšããRFC 3280ã«å«ãŸããå¶éã«åŸã£ãŠãããããã®ã¿ã€ãã§æç¢ºã«å®çŸ©ãããæååãã©ãŒããããçšããããŸãã IPv4ã¢ãã¬ã¹åã¯ãããã§4ã€ã«åºåãããè¡šèšæ³ã§è¿ãããŸãã IPv6ã¢ãã¬ã¹åã¯ããa1:a2:...:a8ããšãã圢åŒã§è¿ãããŸããa1 - a8ã¯ã16鲿°è¡šèšã§ãã¢ãã¬ã¹ã16ããããã€ã§8ã€ã«åå²ããŠããŸãã OIDåã¯ãããªãªãã§åºåãããè² ã«ãªããªãäžé£ã®æŽæ°ã§è¡šãããStringãšããŠè¿ãããŸãã ãã£ã¬ã¯ããªå(èå¥å)ã¯RFC 2253æååãã©ãŒãããã§è¿ãããŸãã otherNameãX.400åãEDIçžæåããã®ã»ãã®ã¿ã€ãã®ååã«ã¯ãæšæºã®æåå圢åŒã¯ãããŸããã ååã®ASN.1 DER笊å·å圢åŒãå«ããã€ãé
åãšããŠè¿ãããŸãã
è¿ãããCollectionã«ã¯ãåãã¿ã€ãã®ååãè€æ°å«ãŸããŠããããšããããŸãã ãŸããè¿ãããCollectionã¯äžå€ã§ããããã€ãé
åãå«ããšã³ããªã¯ãããã以åŸã®å€æŽããä¿è·ããããã«è€è£œãããŠããŸãã
ãã®ã¡ãœããã¯ãJava 2 Platform Standard Editionã®ããŒãžã§ã³1.4ã§è¿œå ãããŸããã æ¢åã®ãµãŒãã¹ã»ãããã€ããšã®äžäœäºææ§ãç¶æããããããã®ã¡ãœããã¯abstractã§ã¯ãªããããã©ã«ãã®å®è£
ãæäŸããŸãã ãµãã¯ã©ã¹ã¯æ£ããå®è£
ã§ãã®ã¡ãœããããªãŒããŒã©ã€ãããªããã°ãããŸããã
CollectionããŸãã¯nullCertificateParsingException - æ¡åŒµæ©èœã埩å·åã§ããªãã£ãå Žåpublic Collection<List<?>> getIssuerAlternativeNames() throws CertificateParsingException
IssuerAltNameæ¡åŒµæ©èœ(OID = 2.5.29.18)ãããçºè¡è
ã®ä»£æ¿åã®äžå€ãªã³ã¬ã¯ã·ã§ã³ãååŸããŸãã
IssuerAltNameæ¡åŒµæ©èœã®ASN.1å®çŸ©ã¯æ¬¡ã®ãšããã§ãã
IssuerAltName ::= GeneralNames
GeneralNamesã®ASN.1å®çŸ©ã¯ãgetSubjectAlternativeNamesã«ãããŸãã
ãã®èšŒææžã«IssuerAltNameæ¡åŒµæ©èœãå«ãŸããªãå Žåã¯ãnullãè¿ãããŸãã ããã§ãªãå Žåã¯ãæ¡åŒµæ©èœã«å«ãŸããåGeneralNameã衚ããšã³ããªãå«ãCollectionãè¿ãããŸãã åãšã³ããªã¯Listã§ããã®æåã®ãšã³ããªã¯Integer (ååã¿ã€ãã0-8)ã2çªç®ã®ãšã³ããªã¯Stringããã€ãé
å(ãããããæåå圢åŒãŸãã¯ASN.1 DER笊å·å圢åŒã®åå)ã«ãªããŸãã ããããã®åååã§äœ¿ããã圢åŒã®è©³çްã«ã€ããŠã¯ãgetSubjectAlternativeNamesã¡ãœãããåç
§ããŠãã ããã
è¿ãããCollectionã«ã¯ãåãã¿ã€ãã®ååãè€æ°å«ãŸããŠããããšããããŸãã ãŸããè¿ãããCollectionã¯äžå€ã§ããããã€ãé
åãå«ããšã³ããªã¯ãããã以åŸã®å€æŽããä¿è·ããããã«è€è£œãããŠããŸãã
ãã®ã¡ãœããã¯ãJava 2 Platform Standard Editionã®ããŒãžã§ã³1.4ã§è¿œå ãããŸããã æ¢åã®ãµãŒãã¹ã»ãããã€ããšã®äžäœäºææ§ãç¶æããããããã®ã¡ãœããã¯abstractã§ã¯ãªããããã©ã«ãã®å®è£
ãæäŸããŸãã ãµãã¯ã©ã¹ã¯æ£ããå®è£
ã§ãã®ã¡ãœããããªãŒããŒã©ã€ãããªããã°ãããŸããã
CollectionããŸãã¯nullCertificateParsingException - æ¡åŒµæ©èœã埩å·åã§ããªãã£ãå Žåpublic void verify(PublicKey key, Provider sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException
abstractã§ã¯ãªããããã©ã«ãã®å®è£
ãæäŸããŸãã verifyãã¯ã©ã¹Certificatekey - æ€èšŒã®å®è¡ã«äœ¿ãPublicKeyãsigProvider - 眲åãããã€ããNoSuchAlgorithmException - ãµããŒããããŠããªã眲åã¢ã«ãŽãªãºã ã®å ŽåãInvalidKeyException - ç¡å¹ãªããŒã®å ŽåãSignatureException - 眲åãšã©ãŒã®å ŽåãCertificateException - 笊å·åãšã©ãŒã®å ŽåãUnsupportedOperationException - ã¡ãœããããµããŒããããŠããªãå Žå ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã