Javaでサーバ証明書から公開鍵を取る
http://stackoverflow.com/questions/8454677/create-privatekey-and-publickey-from-a-string-base64-encoding-with-der-format
わざわざ説明しませんけど、注意としては
わざわざ説明しませんけど、注意としては
- X509EncodedKeySpec はサーバ証明書との組み合わせでは使えない。たとえpemでもderでも
- CertificateFactory ならうまくいく。
- pem形式ならそれのbase64 decode結果がpemならbase64 decoderをかませてCertificateFactoryに投げつければ良い。
手元で署名のついたふつーのサーバ証明書(RSA)を上記の通りに読み込ませたらPublicKeyが吐き出されました。
しかしX509 標準読めますって書いてあるのにX509EncodedKeySpecだめなんですね。どっか別の(演習メモみたいな)ページには署名されるとダメになる、なんていう話があるんですが。
ちょっと詳細がわかってませんが、一応書いときます。あんまり信用しすぎないように。
べんりなこまんど
べんりなこまんど
- openssl x509 -in cer.pem -outform der -out cer.der (pem形式のサーバ証明書を der形式に変換)
- openssl x509 -inform der -in cer.der -text (der形式のサーバ証明書の中身を見る)