「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 使うと、
例えば、
これで普通に OpenSSL や Apache 等と連携可能だと思うのだが、
tomcat はまた何か違う罠があるのだろうか???
Java 系は本当謎だわ。
参考:
出来るって人と、出来ないって人がいるけど、多分出来るんだろう。
ただし、入れる方は 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 系は本当謎だわ。
参考:
- 来栖川電算 Blog / 2007-06-21: tomcatは既存の公開鍵・秘密鍵をインポートできない
- kousoku AWS / 2014-09-18: Apache形式とTomcat形式のSSL証明書を相互変換する
- Narwhal / 2012-12-04: keystoreだけで秘密鍵を忘れてた
- @IT / QA@IT / 2008-02-14: keytoolで作成した秘密鍵のexport
KeyStore ファイル KEYSTORE に対して
もしも公開鍵だけ取り出したいなら更に
参考:
keytool -list -keystore KEYSTOREとして保存されている鍵ペアの alias 名 (ALIAS) を確認した後
keytool -export -alias ALIAS -file CERT -keystore KEYSTOREとすると CERT に DER 形式の証明書が得られる。
もしも公開鍵だけ取り出したいなら更に
openssl x509 -in CERT -inform der -noout -pubkeyとすれば良い。
参考:
- kousoku AWS / 2014-09-18: Apache形式とTomcat形式のSSL証明書を相互変換する
タグ
コメントをかく