public class CertificateFactory extends Object
CertPath)ããã³èšŒææžã®åæ¶ããªã¹ã(CRL)ãªããžã§ã¯ãã笊å·ããçæããããã«äœ¿çšããŸãã
è€æ°ã®èšŒææžãããªã笊å·åã§ã¯ãäºãã«é¢é£æ§ããªããšæãããèšŒææžã®ã³ã¬ã¯ã·ã§ã³ãè§£æããå Žåã«ãgenerateCertificatesã䜿çšããŸãã ããã§ãªãå Žåã¯ãCertPath (èšŒææžãã§ãŒã³)ãçæããŠCertPathValidatorã§æ€èšŒãããšãã«generateCertPathã䜿çšããŸãã
X.509ã®èšŒææžãã¡ã¯ããªã¯ãjava.security.cert.X509Certificateã®ã€ã³ã¹ã¿ã³ã¹ã§ããèšŒææžãããã³java.security.cert.X509CRLã®ã€ã³ã¹ã¿ã³ã¹ã§ããCRLãè¿ããŸãã
次ã®äŸã¯ãBase64ã§ç¬Šå·åãããèšŒææžãæã€ãã¡ã€ã«ãèªã¿åºããŸãããããã®èšŒææžã¯ãå
é ã -----BEGIN CERTIFICATE----- ã«ãã£ãŠåºåãããçµç«¯ã -----END CERTIFICATE----- ã«ãã£ãŠåºåãããŸãã generateCertificateã®ååŒåºãã1ã€ã®èšŒææžã ãã䜿çšããå
¥åã¹ããªãŒã ã®èªåºãäœçœ®ããã¡ã€ã«å
ã®æ¬¡ã®èšŒææžã«çœ®ãããããã«ãFileInputStream (markããã³resetããµããŒãããŠããªã)ãBufferedInputStream (ãããã®ã¡ãœããããµããŒã)ã«å€æããŸãã
FileInputStream fis = new FileInputStream(filename);
BufferedInputStream bis = new BufferedInputStream(fis);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
while (bis.available() > 0) {
Certificate cert = cf.generateCertificate(bis);
System.out.println(cert.toString());
}
次ã®äŸã¯ããã¡ã€ã«å ã«ä¿åãããPKCS#7圢åŒã®èªèšŒå¿çãè§£æããããããèšŒææžããã¹ãŠæœåºããŸãã
FileInputStream fis = new FileInputStream(filename);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Collection c = cf.generateCertificates(fis);
Iterator i = c.iterator();
while (i.hasNext()) {
Certificate cert = (Certificate)i.next();
System.out.println(cert);
}
Javaãã©ãããã©ãŒã ã®å®è£
ã¯ããã¹ãŠæ¬¡ã®æšæºã®CertificateFactoryã¿ã€ãããµããŒãããå¿
èŠããããŸãã
X.509CertPath笊å·åã«ã察å¿ããå¿
èŠããããŸãã
PKCS7PkiPathCertificate, X509Certificate, CertPath, CRL, X509CRL| 修食å | ã³ã³ã¹ãã©ã¯ã¿ | 説æ |
|---|---|---|
protected |
CertificateFactory(CertificateFactorySpi certFacSpi, Provider provider, String type) |
æå®ãããã¿ã€ãã®CertificateFactoryãªããžã§ã¯ããäœæããæå®ããããããã€ãã®å®è£
(SPIãªããžã§ã¯ã)ãããã«ã«ãã»ã«åããŸãã
|
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
Certificate |
generateCertificate(InputStream inStream) |
èšŒææžãªããžã§ã¯ããçæããå
¥åã¹ããªãŒã
inStreamããèªã¿èŸŒãŸããããŒã¿ã§åæåããŸãã |
Collection<? extends Certificate> |
generateCertificates(InputStream inStream) |
æå®ãããå
¥åã¹ããªãŒã
inStreamããèªã¿èŸŒãŸããèšŒææžã®ã³ã¬ã¯ã·ã§ã³ã»ãã¥ãŒ(空ã®å Žåããã)ãè¿ããŸãã |
CertPath |
generateCertPath(InputStream inStream) |
CertPathãªããžã§ã¯ããçæããInputStreamã§ããinStreamããèªã¿èŸŒãŸããããŒã¿ã§åæåããŸãã |
CertPath |
generateCertPath(InputStream inStream, String encoding) |
CertPathãªããžã§ã¯ããçæããInputStreamã§ããinStreamããèªã¿èŸŒãŸããããŒã¿ã§åæåããŸãã |
CertPath |
generateCertPath(List<? extends Certificate> certificates) |
CertPathãªããžã§ã¯ããçæããCertificateã®Listã§åæåããŸãã |
CRL |
generateCRL(InputStream inStream) |
èšŒææžã®åæ¶ããªã¹ã(CRL)ãªããžã§ã¯ããçæããå
¥åã¹ããªãŒã
inStreamããèªã¿èŸŒãŸããããŒã¿ã§åæåããŸãã |
Collection<? extends CRL> |
generateCRLs(InputStream inStream) |
æå®ãããå
¥åã¹ããªãŒã
inStreamããèªã¿èŸŒãŸããCRLã®ã³ã¬ã¯ã·ã§ã³ã»ãã¥ãŒ(空ã®å Žåããã)ãè¿ããŸãã |
Iterator<String> |
getCertPathEncodings() |
ãã®èšŒææžãã¡ã¯ããªã§ãµããŒããã
CertPathã®ãšã³ã³ãŒãã£ã³ã°ã®ç¹°è¿ããè¿ããŸããç¹°è¿ãã®æåã¯ããã©ã«ãã®ãšã³ã³ãŒãã£ã³ã°ã«ãªããŸãã |
static CertificateFactory |
getInstance(String type) |
æå®ãããã¿ã€ãã®èšŒææžãå®è£
ããèšŒææžãã¡ã¯ããªã»ãªããžã§ã¯ããè¿ããŸãã
|
static CertificateFactory |
getInstance(String type, Provider provider) |
æå®ãããã¿ã€ãã®èšŒææžãã¡ã¯ããªã»ãªããžã§ã¯ããè¿ããŸãã
|
static CertificateFactory |
getInstance(String type, String provider) |
æå®ãããã¿ã€ãã®èšŒææžãã¡ã¯ããªã»ãªããžã§ã¯ããè¿ããŸãã
|
Provider |
getProvider() |
ãã®èšŒææžãã¡ã¯ããªã®ãããã€ããè¿ããŸãã
|
String |
getType() |
ãã®èšŒææžãã¡ã¯ããªã«é¢é£ããèšŒææžã¿ã€ãã®ååãè¿ããŸãã
|
protected CertificateFactory(CertificateFactorySpi certFacSpi, Provider provider, String type)
certFacSpi - ãããã€ãã®å®è£
ãprovider - ãããã€ããtype - èšŒææžã¿ã€ããpublic static final CertificateFactory getInstance(String type) throws CertificateException
ãã®ã¡ãœããã¯ãæåªå ã®Providerããé ã«ãç»é²æžã¿ã®ã»ãã¥ãªãã£Providerã®ãªã¹ãããã©ããŒã¹ããŸãã æå®ãããã¿ã€ãããµããŒãããæåã®Providerã®CertificateFactorySpiå®è£ ãã«ãã»ã«åããæ°ããCertificateFactoryãªããžã§ã¯ããè¿ãããŸãã
ç»é²æžã¿ãããã€ãã®ãªã¹ãã¯ãSecurity.getProviders()ã¡ãœããçµç±ã§ååŸã§ããŸãã
type - èŠæ±ãããèšŒææžã¿ã€ãã®ååã æšæºã®èšŒææžã¿ã€ãã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®CertificateFactoryã®ã»ã¯ã·ã§ã³ãåç
§ã CertificateException - æå®ãããã¿ã€ãã®CertificateFactorySpiå®è£
ããµããŒããããããã€ããååšããªãå ŽåãProviderpublic static final CertificateFactory getInstance(String type, String provider) throws CertificateException, NoSuchProviderException
æå®ããããããã€ãã®CertificateFactorySpiå®è£ ãã«ãã»ã«åããæ°ããCertificateFactoryãªããžã§ã¯ããè¿ãããŸãã æå®ãããããã€ãã¯ãã»ãã¥ãªãã£ã»ãããã€ãã»ãªã¹ãã«ç»é²ããå¿ èŠããããŸãã
ç»é²æžã¿ãããã€ãã®ãªã¹ãã¯ãSecurity.getProviders()ã¡ãœããçµç±ã§ååŸã§ããŸãã
type - èšŒææžã¿ã€ãã æšæºã®èšŒææžã¿ã€ãã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®CertificateFactoryã®ã»ã¯ã·ã§ã³ãåç
§ã provider - ãããã€ãåãCertificateException - æå®ããããããã€ãã«æå®ãããã¢ã«ãŽãªãºã ã®CertificateFactorySpiã®å®è£
ããªãå ŽåãNoSuchProviderException - æå®ããããããã€ããã»ãã¥ãªãã£ã»ãããã€ãã»ãªã¹ãã«ç»é²ãããŠããªãå ŽåãIllegalArgumentException - ãããã€ãåãnullãŸãã¯ç©ºã®å ŽåãProviderpublic static final CertificateFactory getInstance(String type, Provider provider) throws CertificateException
æå®ãããProviderãªããžã§ã¯ãã®CertificateFactorySpiå®è£ ãã«ãã»ã«åããæ°ããCertificateFactoryãªããžã§ã¯ããè¿ãããŸãã æå®ãããProviderãªããžã§ã¯ãã¯ããããã€ãã»ãªã¹ãã«ç»é²ããå¿ èŠã¯ãããŸããã
type - èšŒææžã¿ã€ãã æšæºã®èšŒææžã¿ã€ãã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®CertificateFactoryã®ã»ã¯ã·ã§ã³ãåç
§ã provider - ãããã€ããCertificateException - æå®ãããProviderãªããžã§ã¯ãã«æå®ãããã¢ã«ãŽãªãºã ã®CertificateFactorySpiã®å®è£
ããªãå ŽåãIllegalArgumentException - providerãnullã®å ŽåãProviderpublic final Provider getProvider()
public final String getType()
public final Certificate generateCertificate(InputStream inStream) throws CertificateException
inStreamããèªã¿èŸŒãŸããããŒã¿ã§åæåããŸãã
ãã®èšŒææžãã¡ã¯ããªã«ãã£ãŠãµããŒããããŠããç¹æ®åœ¢åŒã®èšŒææžãå©çšããããã«ãè¿ãããèšŒææžãªããžã§ã¯ãã察å¿ããèšŒææžã¯ã©ã¹ã«åãã£ã¹ãã§ããŸãã ããšãã°ããã®èšŒææžãã¡ã¯ããªãX.509èšŒææžãå®è£
ããå Žåãè¿ãããèšŒææžãªããžã§ã¯ããX509Certificateã¯ã©ã¹ã«åãã£ã¹ãã§ããŸãã
X.509èšŒææžã®èšŒææžãã¡ã¯ããªã®å Žåã¯ãinStreamã§æäŸãããèšŒææžã¯DERã§ç¬Šå·åãããå¿
èŠãããããã€ããªãŸãã¯ããªã³ãå¯èœ(Base64)ãªç¬Šå·ã§æäŸãããããšããããŸãã èšŒææžãBase64ã®ç¬Šå·ã§æäŸãããå Žåãå
é 㯠-----BEGIN CERTIFICATE----- ã«ãã£ãŠåºåãããçµç«¯ã¯ -----END CERTIFICATE----- ã«ãã£ãŠåºåãããå¿
èŠããããŸãã
æå®ãããå
¥åã¹ããªãŒã ãmarkããã³resetããµããŒãããŠããªãå Žåããã®ã¡ãœããã¯å
¥åã¹ããªãŒã å
šäœã䜿çšããŸãã ããã§ãªãå Žåããã®ã¡ãœãããåŒã³åºããããã³ã«èšŒææžã1ã€æ¶è²»ããå
¥åã¹ããªãŒã ã®èªèŸŒã¿äœçœ®ã¯ãåºæã®end-of-certificateããŒã«ãŒã®ããšã§æ¬¡ã«äœ¿çšå¯èœãªãã€ãã«èšå®ãããŸãã åºæã®end-of-certificateããŒã«ãŒ(EOF以å€)ãå
¥åã¹ããªãŒã ã®ããŒã¿ã«å«ãŸãããèšŒææžãæ§æè§£æãããããšã§ããŒã¿ãç¶ãå Žåã¯ãCertificateExceptionãã¹ããŒãããŸãã
inStream - èšŒææžããŒã¿ãæã€å
¥åã¹ããªãŒã ãCertificateException - æ§æè§£æãšã©ãŒã®å Žåãpublic final Iterator<String> getCertPathEncodings()
CertPathã®ãšã³ã³ãŒãã£ã³ã°ã®ç¹°è¿ããè¿ããŸããç¹°è¿ãã®æåã¯ããã©ã«ãã®ãšã³ã³ãŒãã£ã³ã°ã«ãªããŸãã æšæºã®ç¬Šå·ååãšãã®åœ¢åŒã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®CertPath笊å·åã®ã»ã¯ã·ã§ã³ãåç
§ã
è¿ãããIteratorãremoveã¡ãœããã§å€æŽããããšãããšãUnsupportedOperationExceptionãã¹ããŒãããŸãã
CertPath笊å·åã®åå(String)ãå埩ããIteratorpublic final CertPath generateCertPath(InputStream inStream) throws CertificateException
CertPathãªããžã§ã¯ããçæããInputStreamã§ããinStreamããèªã¿èŸŒãŸããããŒã¿ã§åæåããŸãã ããŒã¿ã¯ããã©ã«ãã®ç¬Šå·åããããŠãããšä»®å®ãããŸãã ããã©ã«ãã®ç¬Šå·åã®ååã¯ãgetCertPathEncodingsã¡ãœããã§è¿ãããIteratorã®æåã®èŠçŽ ã«ãªããŸãã inStream - ããŒã¿ãå«ãŸããInputStreamInputStreamããã®ããŒã¿ã§åæåãããCertPathCertificateException - 埩å·åäžã«äŸå€ãçºçããå Žåpublic final CertPath generateCertPath(InputStream inStream, String encoding) throws CertificateException
CertPathãªããžã§ã¯ããçæããInputStreamã§ããinStreamããèªã¿èŸŒãŸããããŒã¿ã§åæåããŸãã ããŒã¿ã¯æå®ãã笊å·åããããŠãããšä»®å®ãããŸãã æšæºã®ç¬Šå·ååãšãã®åœ¢åŒã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®CertPath笊å·åã®ã»ã¯ã·ã§ã³ãåç
§ã inStream - ããŒã¿ãå«ãŸããInputStreamencoding - ããŒã¿ã§äœ¿çšããã笊å·åInputStreamããã®ããŒã¿ã§åæåãããCertPathCertificateException - 埩å·åäžã«äŸå€ãçºçããå ŽåããŸãã¯èŠæ±ããã笊å·åããµããŒããããŠããªãå Žåpublic final CertPath generateCertPath(List<? extends Certificate> certificates) throws CertificateException
CertPathãªããžã§ã¯ããçæããCertificateã®Listã§åæåããŸãã
æäŸãããèšŒææžã¯ãCertificateFactoryã§ãµããŒããããŠããã¿ã€ãã§ããå¿
èŠããããŸãã ãããã¯ãæå®ãããListãªããžã§ã¯ãããã³ããŒãããŸãã
certificates - Certificateã®ListCertPathCertificateException - äŸå€ãçºçããå Žåpublic final Collection<? extends Certificate> generateCertificates(InputStream inStream) throws CertificateException
inStreamããèªã¿èŸŒãŸããèšŒææžã®ã³ã¬ã¯ã·ã§ã³ã»ãã¥ãŒ(空ã®å Žåããã)ãè¿ããŸãã
ãã®èšŒææžãã¡ã¯ããªã«ãã£ãŠãµããŒããããŠããç¹æ®ãªåœ¢åŒã®èšŒææžãå©çšããããã«ãè¿ãããã³ã¬ã¯ã·ã§ã³ã»ãã¥ãŒã®åèŠçŽ ã察å¿ããèšŒææžã¯ã©ã¹ã«åãã£ã¹ãã§ããŸãã ããšãã°ããã®èšŒææžãã¡ã¯ããªãX.509èšŒææžãå®è£
ããå Žåãè¿ãããã³ã¬ã¯ã·ã§ã³å
ã®èŠçŽ ãX509Certificateã¯ã©ã¹ã«åãã£ã¹ãã§ããŸãã
X.509èšŒææžã§äœ¿ãèšŒææžãã¡ã¯ããªã®å ŽåãinStreamã«ã¯ãgenerateCertificateã§èª¬æãããŠãã圢åŒã®ãDERã§ç¬Šå·åãããäžé£ã®èšŒææžãæ ŒçŽãããŸãã ãŸããinStreamã«ã¯PKCS#7èšŒææžãã§ãŒã³ãæ ŒçŽãããŸãã ããã¯PKCS#7 SignedDataãªããžã§ã¯ãã§ãããäžäœãã£ãŒã«ãã¯certificatesã ãã§ãã ç¹ã«ã眲åããã³å
容ã¯ç¡èŠãããŸãã ãã®åœ¢åŒã®å Žåãè€æ°ã®èšŒææžã1åã§ããŠã³ããŒãã§ããŸãã èšŒææžããªãå Žåã¯ã空ã®ã³ã¬ã¯ã·ã§ã³ãè¿ãããŸãã
æå®ãããå
¥åã¹ããªãŒã ãmarkããã³resetããµããŒãããŠããªãå Žåããã®ã¡ãœããã¯å
¥åã¹ããªãŒã å
šäœã䜿çšããŸãã
inStream - èšŒææžãæã€å
¥åã¹ããªãŒã ãCertificateException - æ§æè§£æãšã©ãŒã®å Žåãpublic final CRL generateCRL(InputStream inStream) throws CRLException
inStreamããèªã¿èŸŒãŸããããŒã¿ã§åæåããŸãã
ãã®èšŒææžãã¡ã¯ããªã«ãã£ãŠãµããŒããããŠããç¹æ®ãªåœ¢åŒã®CRLãå©çšããããã«ãè¿ãããCRLãªããžã§ã¯ãã察å¿ããCRLã¯ã©ã¹ã«åãã£ã¹ãã§ããŸãã ããšãã°ããã®èšŒææžãã¡ã¯ããªãX.509 CRLãå®è£
ããå Žåãè¿ãããCRLãªããžã§ã¯ããX509CRLã¯ã©ã¹ã«åãã£ã¹ãã§ããŸãã
æå®ãããå
¥åã¹ããªãŒã ãmarkããã³resetããµããŒãããŠããªãå Žåããã®ã¡ãœããã¯å
¥åã¹ããªãŒã å
šäœã䜿çšããŸãã ããã§ãªãå Žåããã®ã¡ãœãããåŒã³åºããããã³ã«CRLã1ã€æ¶è²»ããå
¥åã¹ããªãŒã ã®èªèŸŒã¿äœçœ®ã¯ãåºæã®end-of-CRLããŒã«ãŒã®ããšã§æ¬¡ã«äœ¿çšå¯èœãªãã€ãã«èšå®ãããŸãã åºæã®end-of-CRLããŒã«ãŒ(EOF以å€)ãå
¥åã¹ããªãŒã ã®ããŒã¿ã«å«ãŸãããCRLãæ§æè§£æãããããšã§ããŒã¿ãç¶ãå Žåã¯ãCRLExceptionãã¹ããŒãããŸãã
inStream - CRLããŒã¿ãæã€å
¥åã¹ããªãŒã ãCRLException - æ§æè§£æãšã©ãŒã®å Žåãpublic final Collection<? extends CRL> generateCRLs(InputStream inStream) throws CRLException
inStreamããèªã¿èŸŒãŸããCRLã®ã³ã¬ã¯ã·ã§ã³ã»ãã¥ãŒ(空ã®å Žåããã)ãè¿ããŸãã
ãã®èšŒææžãã¡ã¯ããªã«ãã£ãŠãµããŒããããŠããç¹æ®ãªåœ¢åŒã®CRLãå©çšããããã«ãè¿ãããã³ã¬ã¯ã·ã§ã³ã»ãã¥ãŒã®åèŠçŽ ã察å¿ããCRLã¯ã©ã¹ã«åãã£ã¹ãã§ããŸãã ããšãã°ããã®èšŒææžãã¡ã¯ããªãX.509 CRLãå®è£
ããå Žåãè¿ãããã³ã¬ã¯ã·ã§ã³å
ã®èŠçŽ ãX509CRLã¯ã©ã¹ã«åãã£ã¹ãã§ããŸãã
X.509 CRLã®èšŒææžãã¡ã¯ããªã®å Žåã¯ãinStreamã«ã¯ãDERã§ç¬Šå·åãããäžé£ã®CRLãæ ŒçŽãããŸãã ãŸããinStreamã«ã¯PKCS#7 CRLã»ãããæ ŒçŽãããŸãã ããã¯PKCS#7 SignedDataãªããžã§ã¯ãã§ãããäžäœãã£ãŒã«ãã¯crlsã ãã§ãã ç¹ã«ã眲åããã³å
容ã¯ç¡èŠãããŸãã ãã®åœ¢åŒã®å Žåãè€æ°ã®CRLã1åã§ããŠã³ããŒãã§ããŸãã CRLããªãå Žåã¯ã空ã®ã³ã¬ã¯ã·ã§ã³ãè¿ãããŸãã
æå®ãããå
¥åã¹ããªãŒã ãmarkããã³resetããµããŒãããŠããªãå Žåããã®ã¡ãœããã¯å
¥åã¹ããªãŒã å
šäœã䜿çšããŸãã
inStream - CRLãæã€å
¥åã¹ããªãŒã ãCRLException - æ§æè§£æãšã©ãŒã®å Žåã ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã