「
tomcat keytool 秘密鍵」でググると
出来るって人と、出来ないって人がいるけど、多分出来るんだろう。
ただし、入れる方は PCKS12 形式にすれば keytool コマンドで出来るようだが、出す時は Java から API 叩かないと駄目みたいな雰囲気。
マニュアル読むと、普通に keytool -importkeystore -deststoretype PKCS12 にすれば PKCS12 形式で鍵ペア出て来そうなんだけど違うの???
出て来る情報が古いのか、それともみんな -importkeystore ってオプション名に騙されているのか?
少なくとも 2015-04-01 現在 Ubuntu 14.04.2 LTS で java-7-openjdk-amd64 に入ってる keytool 使うと、
例えば、
keytool -genkey -alias kou -keyalg RSA -keysize 2048 -keystore ./kou_20150401.keystore
keytool -importkeystore -srckeystore ./kou_20150401.keystore -destkeystore ./kou_20150401.pkcs12 -deststoretype PKCS12
openssl rsa -in ./kou_20150401.pkcs12 -inform PKCS12 > ./kou_20150401.key
openssl rsa -in ./kou_20150401.key -pubout > ./kou_20150401.pub
のようにすることで
- ./kou_20150401.keystore に JKS (Java KeyStore) 形式の鍵ペアを生成し
- ./kou_20150401.pkcs12 に PKCS12 形式で import (と言うか、普通はこれ export だよね)した後
- ./kou_20150401.key, /kou_20150401.pub に PEM 形式で鍵ペアを出力
出来る事が確認出来た。
これで普通に OpenSSL や Apache 等と連携可能だと思うのだが、
tomcat はまた何か違う罠があるのだろうか???
Java 系は本当謎だわ。
参考: