public abstract class KeyPairGenerator extends KeyPairGeneratorSpi
getInstanceãã¡ã¯ããªã»ã¡ãœãã(æå®ãããã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãè¿ãstaticã¡ãœãã)ã䜿çšããŠæ§ç¯ãããŸãã
ç¹å®ã®ã¢ã«ãŽãªãºã ã«å¯Ÿå¿ããããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ã¯ããã®ã¢ã«ãŽãªãºã ã§äœ¿çšãããå ¬éããŒããã³éå ¬éããŒã®ãã¢ãäœæããŸãã ãŸããã¢ã«ãŽãªãºã åºæåã®ãã©ã¡ãŒã¿ãçæãããåããŒã«é¢é£ä»ããŸãã
ããŒã®ãã¢ã®çææ¹æ³ã«ã¯ãã¢ã«ãŽãªãºã ç¬ç«åãšã¢ã«ãŽãªãºã åºæåã®2ã€ããããŸãã ãã®2ã€ã®å¯äžã®çžéç¹ã¯ããªããžã§ã¯ãã®åæåã«ãããŸãã
ãã¹ãŠã®ããŒã»ãžã§ãã¬ãŒã¿ã¯ãããŒã»ãµã€ãºããã³ä¹±æ°çºçã®å
ã®æŠå¿µãå
±æããŸãã ããŒã»ãµã€ãºã®è§£éã¯ã¢ã«ãŽãªãºã ã«ãã£ãŠç°ãªããŸã(DSAã¢ã«ãŽãªãºã ã®å Žåããµã€ãºã¯ãããã§è¡šããã¢ãžã¥ã©ã¹ã®é·ãã«å¯Ÿå¿ãããªã©)ã ãã®KeyPairGeneratorã¯ã©ã¹ã«ã¯ãæ®éçã«å
±æãããããã2ã€ã®åŒæ°ã®åããšãinitializeã¡ãœãããååšããŸãã ãŸããåŒæ°ã«keysizeã ãããšããä¹±æ°çºçã®å
ãšããŠããã£ãšãé«ãåªå
é äœã§ã€ã³ã¹ããŒã«ãããŠãããããã€ãã®SecureRandomã®å®è£
ã䜿çšããinitializeã¡ãœããããããŸãã SecureRandomãæäŸãããããã€ãã1ã€ãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ãã·ã¹ãã ãæäŸããä¹±æ°çºçã®å
ã䜿çšãããŸãã
äžèšã®ã¢ã«ãŽãªãºã ã«äŸåããªãinitializeã¡ãœãããåŒã³åºããå Žåããã©ã¡ãŒã¿ãæå®ãããªããããããããã®ããŒã«é¢é£ããã¢ã«ãŽãªãºã åºæã®ãã©ã¡ãŒã¿ãååšããå Žåããããã©ã®ããã«æ±ããã¯ãããã€ãã«ä»»ãããŸãã
ã¢ã«ãŽãªãºã ãDSAã§ãããŒã»ãµã€ãº(ã¢ãžã¥ã©ã¹ã»ãµã€ãº)ã512ã768ããŸãã¯1024ã®å ŽåãSunãããã€ãã¯ãã©ã¡ãŒã¿pãqãããã³gã«èšç®æžã¿ã®å€ã®ã»ããã䜿ããŸãã ã¢ãžã¥ã©ã¹ã®ãµã€ãºãäžèšã®å€ã®1ã€ã§ãªãå Žåã¯ãSunãããã€ãã¯ãæ°ãããã©ã¡ãŒã¿ã®ã»ãããäœæããŸãã ãããã®3ã€ã®ã¢ãžã¥ã©ã¹ã»ãµã€ãºä»¥å€ã®ãäºåã«èšç®ããããã©ã¡ãŒã¿ã»ã»ãããæã€ãããã€ããååšããå¯èœæ§ããããŸãã ãŸããäºåã«èšç®ããããã©ã¡ãŒã¿ããªããåžžã«æ°ãããã©ã¡ãŒã¿ã»ã»ãããäœæãããããã€ããååšããå¯èœæ§ããããŸãã
ã¢ã«ãŽãªãºã åºæã®ãã©ã¡ãŒã¿ã®ã»ããããã§ã«ååšããç¶æ³ã§ã¯(DSAã®ã³ãã¥ããã£ã»ãã©ã¡ãŒã¿ãªã©)ãAlgorithmParameterSpecåŒæ°ãåãinitializeã¡ãœããã2ã€ãããŸãã ãã®ãã¡äžæ¹ã¯åŒæ°ã«SecureRandomããšããŸãããããäžæ¹ã¯ãä¹±æ°çºçã®å
ãšããŠããã£ãšãé«ãåªå
é äœã§ã€ã³ã¹ããŒã«ãããŠãããããã€ãã®SecureRandomã®å®è£
ã䜿çšããŸãã SecureRandomãæäŸãããããã€ãã1ã€ãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ãã·ã¹ãã ãæäŸããä¹±æ°çºçã®å
ã䜿çšãããŸãã
ã¯ã©ã€ã¢ã³ããinitializeã¡ãœããã®åŒåºãã§ãæç€ºçã«KeyPairGeneratorãåæåããªãå Žåã«ã¯ãåãããã€ãã¯ããã©ã«ãã§åæåãæäŸãããã¥ã¡ã³ãåããå¿
èŠããããŸãã ããšãã°Sunã®ãããã€ãã¯ããµã€ãºã1,024ãããã§ããããã©ã«ãã®ã¢ãžã¥ã©ã¹ã»ãµã€ãº(ããŒã»ãµã€ãº)ã䜿çšããŸãã
ãã®ã¯ã©ã¹ã¯ãæŽå²çãªäºæ
ããKeyPairGeneratorSpiã¯ã©ã¹ããæ¡åŒµãããæœè±¡ã¯ã©ã¹ã«ãªã£ãŠããããšã«æ³šæããŠãã ããã ã¢ããªã±ãŒã·ã§ã³ã®éçºè
ã¯ããã®KeyPairGeneratorã¯ã©ã¹ã§å®çŸ©ãããã¡ãœããã ãã«é
æ
®ããŠãã ãããã¹ãŒããŒã»ã¯ã©ã¹ã®ãã¹ãŠã®ã¡ãœããã¯ãããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ã®ç¬èªã®å®è£
ãæäŸããå¿
èŠãããæå·ãµãŒãã¹ã»ãããã€ãã§äœ¿çšãããããšãæ³å®ããŠããŸãã
Javaãã©ãããã©ãŒã ã®å®è£
ã¯ããã¹ãŠæ¬¡ã®æšæºã®KeyPairGeneratorã¢ã«ãŽãªãºã ãšã«ãã³å
ã®ããŒã»ãµã€ãºããµããŒãããå¿
èŠããããŸãã
DiffieHellman (1024)DSA (1024)RSA (1024ã2048)AlgorithmParameterSpec| 修食å | ã³ã³ã¹ãã©ã¯ã¿ | 説æ |
|---|---|---|
protected |
KeyPairGenerator(String algorithm) |
æå®ãããã¢ã«ãŽãªãºã ã«å¯ŸããKeyPairGeneratorãäœæããŸãã
|
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
KeyPair |
generateKeyPair() |
ããŒã»ãã¢ãçæããŸãã
|
KeyPair |
genKeyPair() |
ããŒã»ãã¢ãçæããŸãã
|
String |
getAlgorithm() |
ãã®ããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ã®ã¢ã«ãŽãªãºã ã®æšæºåãè¿ããŸãã
|
static KeyPairGenerator |
getInstance(String algorithm) |
æå®ã®ã¢ã«ãŽãªãºã ã®å
¬éããŒãšéå
¬éããŒã®ãã¢ãçæããKeyPairGeneratorãªããžã§ã¯ããè¿ããŸãã
|
static KeyPairGenerator |
getInstance(String algorithm, Provider provider) |
æå®ã®ã¢ã«ãŽãªãºã ã®å
¬éããŒãšéå
¬éããŒã®ãã¢ãçæããKeyPairGeneratorãªããžã§ã¯ããè¿ããŸãã
|
static KeyPairGenerator |
getInstance(String algorithm, String provider) |
æå®ã®ã¢ã«ãŽãªãºã ã®å
¬éããŒãšéå
¬éããŒã®ãã¢ãçæããKeyPairGeneratorãªããžã§ã¯ããè¿ããŸãã
|
Provider |
getProvider() |
ãã®ããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ã»ãªããžã§ã¯ãã®ãããã€ããè¿ããŸãã
|
void |
initialize(AlgorithmParameterSpec params) |
æå®ããããã©ã¡ãŒã¿ã®ã»ãããšãä¹±æ°çºçã®å
ãšããŠããã£ãšãé«ãåªå
é äœã§ã€ã³ã¹ããŒã«ãããŠãããããã€ãã®
SecureRandomã®å®è£
ã䜿çšããŠãããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ãåæåããŸãã |
void |
initialize(AlgorithmParameterSpec params, SecureRandom random) |
æå®ããããã©ã¡ãŒã¿ã»ã»ãããšä¹±æ°çºçã®å
ã䜿ã£ãŠããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ãåæåããŸãã
|
void |
initialize(int keysize) |
ä»»æã®ããŒã®ãµã€ãºã«å¯ŸããããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ãåæåããŸããããã©ã«ãã®ãã©ã¡ãŒã¿ã»ã»ãããšãä¹±æ°çºçã®å
ãšããŠããã£ãšãé«ãåªå
é äœã§ã€ã³ã¹ããŒã«ãããŠãããããã€ãã®
SecureRandomã®å®è£
ã䜿çšããŸãã |
void |
initialize(int keysize, SecureRandom random) |
ä»»æã®ããŒã»ãµã€ãºå¯ŸããããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ãåæåããŸããæå®ãããä¹±æ°çºçã®å
ãšãããã©ã«ãã®ãã©ã¡ãŒã¿ã»ã»ããã䜿çšããŸãã
|
protected KeyPairGenerator(String algorithm)
algorithm - ã¢ã«ãŽãªãºã ã®æšæºåã衚ãæååã ã¢ã«ãŽãªãºã ã®æšæºåã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®KeyPairGeneratorã®ã»ã¯ã·ã§ã³ãåç
§ã public String getAlgorithm()
public static KeyPairGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
ãã®ã¡ãœããã¯ãæåªå ã®Providerããé ã«ãç»é²æžã¿ã®ã»ãã¥ãªãã£Providerã®ãªã¹ãããã©ããŒã¹ããŸãã æå®ãããã¢ã«ãŽãªãºã ããµããŒãããæåã®Providerã®KeyPairGeneratorSpiå®è£ ãã«ãã»ã«åããæ°ããKeyPairGeneratorãªããžã§ã¯ããè¿ãããŸãã
ç»é²æžã¿ãããã€ãã®ãªã¹ãã¯ãSecurity.getProviders()ã¡ãœããçµç±ã§ååŸã§ããŸãã
algorithm - ã¢ã«ãŽãªãºã ã®æšæºåã衚ãæååã ã¢ã«ãŽãªãºã ã®æšæºåã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®KeyPairGeneratorã®ã»ã¯ã·ã§ã³ãåç
§ã NoSuchAlgorithmException - æå®ãããã¢ã«ãŽãªãºã ã®KeyPairGeneratorSpiå®è£
ããµããŒãããProviderãååšããªãå ŽåãProviderpublic static KeyPairGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
æå®ããããããã€ãã®KeyPairGeneratorSpiå®è£ ãã«ãã»ã«åããæ°ããKeyPairGeneratorãªããžã§ã¯ããè¿ãããŸãã æå®ãããããã€ãã¯ãã»ãã¥ãªãã£ã»ãããã€ãã»ãªã¹ãã«ç»é²ããå¿ èŠããããŸãã
ç»é²æžã¿ãããã€ãã®ãªã¹ãã¯ãSecurity.getProviders()ã¡ãœããçµç±ã§ååŸã§ããŸãã
algorithm - ã¢ã«ãŽãªãºã ã®æšæºåã衚ãæååã ã¢ã«ãŽãªãºã ã®æšæºåã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®KeyPairGeneratorã®ã»ã¯ã·ã§ã³ãåç
§ã provider - ãããã€ãåã®æåååãNoSuchAlgorithmException - æå®ããããããã€ãã«æå®ãããã¢ã«ãŽãªãºã ã®KeyPairGeneratorSpiå®è£
ããªãå ŽåãNoSuchProviderException - æå®ããããããã€ããã»ãã¥ãªãã£ã»ãããã€ãã»ãªã¹ãã«ç»é²ãããŠããªãå ŽåãIllegalArgumentException - ãããã€ãåãnullãŸãã¯ç©ºã®å ŽåãProviderpublic static KeyPairGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
æå®ãããProviderãªããžã§ã¯ãã®KeyPairGeneratorSpiå®è£ ãã«ãã»ã«åããæ°ããKeyPairGeneratorãªããžã§ã¯ããè¿ãããŸãã æå®ãããProviderãªããžã§ã¯ãã¯ããããã€ãã»ãªã¹ãã«ç»é²ããå¿ èŠã¯ãããŸããã
algorithm - ã¢ã«ãŽãªãºã ã®æšæºåã衚ãæååã ã¢ã«ãŽãªãºã ã®æšæºåã«ã€ããŠã¯ãJavaæå·åã¢ãŒããã¯ãã£æšæºã¢ã«ãŽãªãºã åã®ããã¥ã¡ã³ãã®KeyPairGeneratorã®ã»ã¯ã·ã§ã³ãåç
§ã provider - ãããã€ããNoSuchAlgorithmException - æå®ãããProviderãªããžã§ã¯ãã«æå®ãããã¢ã«ãŽãªãºã ã®KeyPairGeneratorSpiå®è£
ããªãå ŽåãIllegalArgumentException - æå®ããããããã€ããnullã®å ŽåãProviderpublic final Provider getProvider()
public void initialize(int keysize)
SecureRandomã®å®è£
ã䜿çšããŸãã SecureRandomãæäŸãããããã€ãã1ã€ãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ãã·ã¹ãã ãæäŸããä¹±æ°çºçã®å
ã䜿çšãããŸãã keysize - ããŒã»ãµã€ãºã ã¢ãžã¥ã©ã¹ã®é·ãã®ãããªããããé·ã§æå®ãããã¢ã«ãŽãªãºã ã«åºæã®ã¡ããªãã¯ã InvalidParameterException - ãã®KeyPairGeneratorãªããžã§ã¯ããkeysizeã¡ãœããããµããŒãããŠããªãå Žåãpublic void initialize(int keysize,
SecureRandom random)
initializeãã¯ã©ã¹KeyPairGeneratorSpikeysize - ããŒã»ãµã€ãºã ã¢ãžã¥ã©ã¹ã®é·ãã®ãããªããããé·ã§æå®ãããã¢ã«ãŽãªãºã ã«åºæã®ã¡ããªãã¯ã random - ä¹±æ°çºçã®å
ãInvalidParameterException - ãã®KeyPairGeneratorãªããžã§ã¯ããkeysizeã¡ãœããããµããŒãããŠããªãå Žåãpublic void initialize(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
SecureRandomã®å®è£
ã䜿çšããŠãããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ãåæåããŸãã SecureRandomãæäŸãããããã€ãã1ã€ãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ãã·ã¹ãã ãæäŸããä¹±æ°çºçã®å
ã䜿çšãããŸãã
ãã®å
·è±¡ã¡ãœããã¯ãäºåã«å®çŸ©ããããã®æœè±¡ã¯ã©ã¹ã«è¿œå ããããã®ã§ãã ãã®ã¡ãœããã¯ãKeyPairGeneratorSpiã®initializeã¡ãœãããåŒã³åºããŸããã¡ãœããã®åŒåºãã®éã«ã¯ãåŒæ°ãšããŠparamsãšä¹±æ°çºçã®å
(ã€ã³ã¹ããŒã«ãããŠãããããã€ãã®ãã¡ããã£ãšãåªå
é äœã®é«ããããã€ãããååŸããããã€ããä¹±æ°çºçã®å
ãæäŸããªãå Žåã¯ãã·ã¹ãã ãæäŸãããã®)ãæž¡ããŸãã ãã®initializeã¡ãœããã¯ããããã€ãã«ãã£ãŠãªãŒããŒã©ã€ããããªãå Žåã¯ãå¿
ãUnsupportedOperationExceptionãã¹ããŒããŸãã
params - ããŒãçæããããã®ãã©ã¡ãŒã¿ã»ã»ãããInvalidAlgorithmParameterException - æå®ããããã©ã¡ãŒã¿ããã®ããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ã«äžé©åãªå Žåãpublic void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException
ãã®å
·è±¡ã¡ãœããã¯ãäºåã«å®çŸ©ããããã®æœè±¡ã¯ã©ã¹ã«è¿œå ããããã®ã§ãã ãã®ã¡ãœããã¯ãparamsãšrandomãæž¡ããŠãKeyPairGeneratorSpiã¯ã©ã¹ã®initializeã¡ãœãããåŒã³åºããŸãã ãã®initializeã¡ãœããã¯ããããã€ãã«ãã£ãŠãªãŒããŒã©ã€ããããªãå Žåã¯ãå¿
ãUnsupportedOperationExceptionãã¹ããŒããŸãã
initializeãã¯ã©ã¹KeyPairGeneratorSpiparams - ããŒãçæããããã®ãã©ã¡ãŒã¿ã»ã»ãããrandom - ä¹±æ°çºçã®å
ãInvalidAlgorithmParameterException - æå®ããããã©ã¡ãŒã¿ããã®ããŒã»ãã¢ã»ãžã§ãã¬ãŒã¿ã«äžé©åãªå Žåãpublic final KeyPair genKeyPair()
KeyPairGeneratorãæç€ºçã«åæåãããŠããªãå Žåã¯ããããã€ãæå®ãããããã©ã«ããçæãããããŒã®ãµã€ãºããã³ãã®ä»ã®(ã¢ã«ãŽãªãºã ã«åºæã®)å€ã«äœ¿çšããŸãã
ããã¯åŒã³åºããããã³ã«ãæ°ããããŒã»ãã¢ãçæããŸãã
ãã®ã¡ãœããã¯ãæ©èœçã«ã¯generateKeyPairãšåçã§ãã
public KeyPair generateKeyPair()
KeyPairGeneratorãæç€ºçã«åæåãããŠããªãå Žåã¯ããããã€ãæå®ãããããã©ã«ããçæãããããŒã®ãµã€ãºããã³ãã®ä»ã®(ã¢ã«ãŽãªãºã ã«åºæã®)å€ã«äœ¿çšããŸãã
ããã¯åŒã³åºããããã³ã«ãæ°ããããŒã»ãã¢ãçæããŸãã
ãã®ã¡ãœããã¯ãæ©èœçã«ã¯genKeyPairãšåçã§ãã
generateKeyPairãã¯ã©ã¹KeyPairGeneratorSpi ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã