|
IBM¤ÎHTTPServer(IHS)¤Ç¤Ï¡¢SSL¹½ÃۤˤÏikeyman¤È¤¤¤¦¸°DB¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥Ä¡¼¥ë¤òÍѤ¤¤Þ¤¹¡£¤Ç¡¢ikeyman¤ÇºîÀ®¤µ¤ì¤ë¸°DB¤ÏCMS·Á¼°(³ÈÄ¥»Òkdb)¤È¤¤¤¦¥Õ¥¡¥¤¥ë·Á¼°¤Ê¤Î¤Ç¤¹¤¬¡¢IHS¤ÇSSL´Ä¶¤òºî¤Ã¤¿¸å¤Ë¡¢¥¢¥¯¥»¥é¥ì¡¼¥¿¤äApache¤Ê¤É¤Ë°Ü¹Ô¤·¤è¤¦¤È»×¤Ã¤Æ¤âÈëÌ©¸°¤ÎÃê½ÐÊýË¡¤¬Ê¬¤«¤é¤ºº¤¤Ã¤Æ¤Þ¤·¤¿¡£ ¤¤¤í¤¤¤íÄ´¤Ù¤Æ¤ß¤ë¤È¡¢keytool¤ÇºîÀ®¤·¤¿ÈëÌ©¸°¤Îexport - Security & Trust ¤¢¤¿¤ê¤Ë¾ðÊ󤬡£ikeyman¤ò»È¤Ã¤Ækdb¤òJava Key Store·Á¼°(JKS)¤ËÊÌ̾Êݸ¤·¡¢¤½¤ì¤òJava¤ÇÁàºî¤¹¤ì¤ÐÎɤµ¤½¤¦¤Ç¤¹¡£ ή¤ì¤È¤·¤Æ¤Ï¡¢
¤Ç¤Ç¤¤½¤¦¤Ç¤¹¡£ Java¥×¥í¥°¥é¥à †°Ê²¼¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ç¡¢¥Ð¥¤¥Ê¥ê¤ÎÈëÌ©¸°¤¬Ãê½Ð¤Ç¤¤Þ¤¹¡£ public class KeyGenerator {
public static void main(String[] args) throws Exception {
String alias = "hoge"; // ¸°DBÆâ¤ÎÊÌ̾
String keyStorePass = "fuga"; // ¸°DB¤Î¥Ñ¥¹¥ï¡¼¥É
String jksFile = "key.jks"; // ¸°DB¤Î¥Õ¥¡¥¤¥ë̾
KeyStore keyStore = KeyStore.getInstance("JKS");
FileInputStream in = new FileInputStream(jksFile);
keyStore.load(in, keyStorePass.toCharArray());
Key key = keyStore.getKey(alias, keyStorePass.toCharArray());
byte[] der = key.getEncoded(); // ¥Ð¥¤¥Ê¥ê¤ÎÈëÌ©¸°
write(der); // ÈëÌ©¸°¤ò¥Õ¥¡¥¤¥ëÊݸ
}
public static void write(byte[] b) {
BufferedOutputStream stream = null;
try {
File file = new File("key.der");
FileOutputStream fstream = new FileOutputStream(file);
stream = new BufferedOutputStream(fstream);
stream.write(b);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (stream != null) {
try {
stream.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
}
OpenSSL¤Î¥³¥Þ¥ó¥É¤ÇBase64¤ËÊÑ´¹¤¹¤ë †openssl pkcs8 -inform der -in key.der -outform pem -out key.pem -nocrypt key.pem¤¬Ãê½Ð¤µ¤ì¤Þ¤·¤¿¡£¼ÂºÝ¸«¤Æ¤ß¤ë¤È -----BEGIN RSA PRIVATE KEY----- hogehogehoge..... -----END RSA PRIVATE KEY----- ³Î¤«¤ËÈëÌ©¸°¤¬Ãê½Ð¤Ç¤¤Þ¤·¤¿¡ª ¤Á¤Ê¤ß¤Ë †./keytool.exe -export -alias hoge -keystore key.jks -rfc > hogehoge.cer pass: fuga ¤Ç¾ÚÌÀ½ñ*1¤òÃê½Ð¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ´ØÏ¢¥ê¥ó¥¯ †
¤³¤Îµ»ö¤Ï ¸½ºß¤Î¥¢¥¯¥»¥¹:7568 |