|
’Įß ŽĮ ’Įą įĖĶĶ ’ąĶ ĖĮ ąß (Żß Å) Įß X509CRL ß CRL ’ ĖĶĶ Todd Sundsted :ą ß JavaWorld.com ĶĪßĶ Ī :ŻĶ ą éPrivate Key ąé Ė Ć ’ Ķß ĶĖ Public-Key įĶĮĢ ĪĶ ß ’Įß Public Key įĶĮĢĪĶ ¬Ėß ĶĮ Private Key ą .Ė ’ ’ß ’ééĮ Ī (Certificate Revocation List) CRL .ĖĖ’ ÅĖ ĪĮ ĮĶ ĖßĶ Į Ėéß ĪĮ Ń ’Įß ą ÅĮ ’ ß (Public Key Infrastructure) PKI .ĖĶĢ’ ą ĶĶ įĖĶéĶé ’éąéĶ ĶĖ ŽĄ ĖĶĶ ąß ß X.509 ’ĶĶ ą Ž Ę ĶĖ .Ė ĖĮß ’Ķ CRL Å ŽĮ ĶĖ .Ż ĮĖĶ Įß įĶĮĶéĶé ß Ž ŽĄ ’ ’ĮĶ ’ Public Key ß Private Key é Ėßé’é Ćéé ¬éé Åß ’ĶĶ Public Key .Ė É ÅŌ ĶĮ .Ė ’ ’ß Private Key ’ééé Private Key ąé ÅĮ Ķß ’ Ķß ĶĖ Public Key įĶĮĢĪĶ ą ¬ĖĶéé ĶĮĶé įĶéĖ Ņ Ķ Į ĶĖ Private Key ’ ĶĮ .Ė ’ .Ė Å ĮĶ Ėß Åß ’ßĶ Į ĶßŌ ą ĖĮß ’ ŠéĮ ŽĄ Ķé éCA ß éPublic Key ¬é’Įß ą ’ĶĪ ¬ÜĖ Ž ą ÅééĮ Ķ ’Įß ĶßĖ .Ė ’Įß ß ß ĶßĖ Ü Ė Ėß’ ą Public Key ß ’éĮßé ą ŌßĶ ąĶ ’Įß ĶĖ ąĖ įĶĮĢ Ż ÅĖßß ą .ÅĮ ąĖĮĖ ÅĖ ĪĮ ĮĶ Ėß Å CA ’ ’Įß ß .Ė’ ĶÕ ĖĶß .ĖĮĪĮ’ ’Įß ą ĮĶ ÜĶ ąĶ Ė ’ ŌĮ ’Įß ß Ż ĶĖ ¬CA CRL ß (’éĮßé ßé ŹĶ Ė) ąŌßĶ ’ąĖĮĖ ß ÜĶ ąĶ ĪĮ ’ CRL ĮĶ ééĄ CA ą .Ėß’ ÅĮßĶĖ CA Ōß ß ĶĖ ą ÅĮ Public Key ĖĶé’ ĶĮĶ ’Ķ Ė ĶĖ ’Įąß ą ąĮ ’ß ŽĪ ĶĖ CRL ¬Ėß ĶĖ ’éĶĶé ŃĶĢ ĪĮ Ń ĮĶ ’Įß ß Åß ĖĮß įĖĶĶ ’ąĶ ą .Ė .ĖéĖĶé Ķéé é (Internet Engineering Task Force) IETF Ōß RFC 2459 Ėé Ī X.509 CRL ÅĶ .Ė’ ŲĶ ĮĶ X.509 CRL ÅĶ RFC 2459 .ĖĖĶé’ Ņ (Abstract Syntax Notation One) ASN.1 Ė ’Įß ŲéĶéé ĮĶ ŻĶÅ Ü įĶ ÅĶ (Disinguished Encoding Rules) DER .Ė’ Óßé ĶĖ ß ŻĪĮĖĶé’éé ASN.1 Ėéé ß DER įĶĮĢé Ė Ę ą ŽĮ ĪĮ Ń .ŻĖ’ Éß ĮĶ Ž ÅĶ CRL API CRL API ŻéĮĶé ĮĶ ŽĄ ąééé Ī ß X.509 Ņ ŠĶ Į CRL ’ĮĶ Įß CRL API .Ė’ Ü ’Įß ’ĮĶ ą ąß Ž ¬ĖĶߥ’ Šé .Ėéé’é ŲéĶéé ĮĶ ’é ŠĶ Į java.security.cert.CRL Š (java.security.cert.CRL Š ąéßĶĪ) java.security.cert.X509CRL .Ė’ ŲĶ X.509 Ņ ŠĶ Į įĖßĶß Ķ ą ’ Ė ŽĮ java.security.cert.X509CRLEntry Š Å ĶĖ .ĖĶߥ’ ŻĮĶ ĮĶ X.509 CRL :Ż ’ĶĶ ĮĶ Š Ķ Ć Ķ ą ĖĖ ąĪĮ java.security.cert.CRL ŽéĶé é Ž .Ė’ ŲĶ ĮĶ CRL ÖĮßĮ ą ŚĶ ŠĶ Į Łß Š :Ėß ŻĮß ÉĶ ĮĶ Š ŽĮ Ė Ą ą Ė ’ Ņ public boolean isRevoked(Certificate Certificate) ÅĶßé ßéé Åééé ’éĶĶ ĶĮ) .Ķ ÅĮ ąĖ ß Ņ ’Įß Ś .(ĖĶ’ java.security.cert.X.509CRL ąééĮ ĮĶ X.509 ąĻéß ĖĶééé ß ĖĖ’ ąß ĮĶ Łß CRL Š ¬Š ŽĮ :Ė’ ĮĖ Ė instance Ōß ą ĮĶ CRL ąĖ Ė ŻĶ public byte [] getEncoded() .ĖĮĖĶ’ Ī ąĖ Īééé CA Śéé é ĮĶ CRL ĪßĶ ąé ŹéĶé public Date getNextUpdate() ĶĖé "ĮĖéé éĮ ¬Ėé ŹĶ ŽĄ ĪĮ Ķ ĖßĪ ĖĮß ’ įĖ CRL .ĖĮĖĶ’ .Ėß’ Īé ąĖßé Ķ ĮĶ CRL ¬CA ą ĮĶ ’Ķ public Date getThisUpddate() .ĖĮĖĶ’ Åééééé ’éįĖßĶß ŃĶéé ’ĮĶé ’ééĖé é ’ßé Īéé X509CRL Šé ’ééĖé é ’ß Ī X509CRL Š ąĶĶĖ Ž .ÅĮ certificate revocation Šé ąĶéĶĖ Ž .ÅĮ certificate revocation Å ’ įĖßĶß ŃĶ ’ĮĶ :ĖĶ ŻĮß Å ąĮĖĮ ĶĖ Ī X509CRLEntry ąé ĮĶ ’ééįĖßĶß ĪĮ ’Įąéßééé public Set getRevokedCertificates() .ĖĮĖĶ’ Ī ¬Ė ’Įß Ķ public X509CRLEntry getRevokedCertificate(BigInteger serialnumber) ĮĶ ÅéĮ Ņßéé ÜĶ ąĶ ąĮĶ ą ’ĶĮ ’Įß Ķ ą ąĖßĶß .ĖĮĖĶ’ Ī .ĖĖ’ ąģĮĶĮ CRL ąĶ ĶĖ ’ ŌĮ ą Ė query ’Ė ¬Ė ą .ĖĮĖĶ’ Ī ĮĶ CRL ą ąĶ public int getVersion() ąé ĖéĮĖĶé’é Ī ĮĶ ’ ŌĮ public abstract Principal getIssuerDN() .Ė’ ¬ÅĮ ąĖĶ Į ĮĶ ŽĮ ą ’ ß CRL ąĖ ĶĖ Ķ ¬public String getSigAlgOID() ¬public String getSigAlgName() Ķé ąé Żé éĶßĮ ąĶĶĖ ĮĶ ’ ŌĮ public byte [] getSigAlgParams() .ĖĮĖĶ’ Ī CRL ĶĖ ą Ķ Īééé CRL ’ĮĶé ĮĶ ééĮ Żé ÅééŌĮ public byte [] getSignature() .ĖĮĖĶ’ Īé CRL ŽéĮ ’ĮĶé ĮĶ TBS ŲĖĶ ÅŌĮ public byte [] getTBSCertList() Ėé é ŽéĮ ĶĖ .ĖĶé ĖééĮßé ąĖ Į Ė ŽĮ ĪĮ ĆĮ ą Į .ĖĮĖĶ’ .Ė ’ (API ĪĮ ĒĶ) ĮĶ CRL Į Ü ĶßŌ ą ĖĮß ’ ąé ŌßéĶé instance Ķéé éĮ ĪĮĶĮ ’ĮĶ ’Ė X509CRL Š Å ĶĖ :ĖĶĮĖ X509CRL ¬ÅéĮ Ņ Ń ĪĮ ą ąß public void verify(PublicKey publickey) ąé ŌßéĶé Private Key é CRL ąé ŌßéĶé instance é Ėéé’ ’ĶĶ .Ėß Ž ĶÕ ĖĶß Public Key Ėé public void verify(PublicKey publickey, String stringProvider) ĖĖ’ ŻĮ (ÓĶ Ń ÅĶß ą) ’ ąĖĖ ŠßĶ Ś ĮĶ Łß Å java.security.cert.X509CRLEntry ß getRevokedCertificates() :ĖĶĮĖ Ėééééééé ééééééé ßĖ Šéééééé ŽéééĮ ĮĶ revocation Åééé įĖßĶß Ė Ś ßĖ Ķ ą getRevokedCertificate() .ĖéĮĖĶ’ Ī java.security.cert.X509CRLEntry Š ’instance ŽĮß :Ėß’ Ü ĮĶ įĖßĶß ŽĮ ąĶ ĶĖ ’ ŌĮ ĶĪ ’Ė .ĖĮĖĶ ’ Ī ĮĶ įĖßĶß ąĖ įĶĮĢ ĪĶ Ü public byte[] getEncoded() .ĖĮĖĶ’ Ī ĮĶ ’Įß ÜĶ ąĶ public BigInteger getSerialnumber() .ĖĮĖĶ’ Ī ĮĶ ’Įß ß ŹĶ public Date getRevocationDate() ĖĶĮĖ ąĶé CRL įĖßĶß Ą ą Ė’ Ņ public boolean hasExtensions() ŽéĮ ąé ’éĶé éĖ ŽĮ X.509 ’Įß ąĶ Ė API ą .Ķ įĶĮĢé ĪéĶ Üé Ė ąĶ ą ’ Ė ’ĮĶ .Ė’ ŻĮĶ ĮĶ ąĶ .Ė ąĪ ĮĶ getEncoded() Ė ĪĮ Ü įĖßĶß ąĖ Ė Ėééß ’ĮĶ factory ĖĶĶ ąß certificate factory ą ąß ĶĪ Š .Ė’ ÉĶ ĮĶ CRL ÅŌĮ Ń ß ĒĮĶ Į ąß ß X509 CRL
.Ėéééé Üé Ü Š ą ĮĶ Łß Å ĶĖ Š ŲĶ ĖĮß Ė Ņééé ŽéĶé Ō ĶĖ ĮĶ CRL Ü Ė Ś ’Į Ė Š ’ĮĶĮ Ż .Ė ŃĪ Ćééé įĖĶéĶ ’ąĶ ĪĮ įĶ ’ĮĶ ß ’ßĶĶ CRL ąĮ Ėßß .ĖĶĮĖ ąĖ Ć ßĖ Į ¬Ė ’ Ķ ą .ĖĶĮĖ Push ÉĶŌ CRL Īß .ĖĶĮĖ ’Ķ ĪßĶ ą Ķ ąĮ ÜßĮ ¬’éé Īß Ō ĶĖ ’Ī ÜßĮĖ ĪĮ ’ ą ąß ĮĶ ĖĖ ’CRL ¬CA ĪßĶ ąé ĮĶ éĄ ŻÕ ĶßŌ ą Ė CRL ĪĮ ąĖ Į ’ĮĶ CA .ĖĖ’ ĶĮĶ ’é’ééĶ ĪßĶé ąé įĖĶéĶ ’ąĶ ĪĮ ’ ÅĮ Ž .Ė ’Ķ Ķé ąé ’é’éĮß ’ĮĶ Å Ķ ¬CRL Ś Ė .Ė ą ĮĖ Ī įĶ .Ėß Ķ ÅĮ Ė ĶĖ ą Ķ Üéé ’ĮĶé .Ėß’ Ķ ’ ŽĪ ĶĖ ’Įß .ÅĮ CRL ÜßŌ Ü ŻßĖ ĖĮß ’ ¬Ėß ąĖĮĖ ÅĶ Į ŹĶ ĪĮ Ń Ė ’Įß Ś ĶĮ .ĪßĶ ±ø° Ėéé CRL ĶĖ Ė įĖßĶß .ĖĖ ŻĮ CRL ą ’Įß ŽĖßĪĮ ĮĶ ĶĮ .Ėé Ō ĖĮß ’ CRL Ė ĖĪ revocation ĶĮ .Ėß ’ ’Įß ’ ŃßĶ ŽĮ ą Ė’ ŃĮĪĮ PKI ą ąß CRL ÜßŌ Ōß ¬ą .Å įĶĢ ąĪĮĖĮ Å ’ĮĶ ą Ė Ė Ž ŽĄ ŽĖ ’ĮĶ ą ’Įß ĪĮ ąß Ė ĶĖ ŚĮ Żß ą .Ė ąĖ Į ĖßĶ’ Ķ ą Private Key ’ĮĶ ą CRL ß ŻĶ Å ĶĖ .ĖĶ ąĶ Ą ĪĮ ĖĮß ’ ¬ĖĖ ąß ĮĶ ’Įß ß CRL .ŻĪĮĖĶ’ ’Įß ’ įĖĶĶ ’ąĶ ’ĶĶ ą |
![]()
Copyright 2001, IT World / JavaWorld.com / PC WORLD Iran/International Data Group Inc. All rights reserved.
|