SSL証明書のエクスポート 秘密キーがエクスポートできない場合の対処法

Posted by yonezo in 仕事, 日記 | Leave a comment
Pocket

SSL証明書を”とある事情で”エクスポートする際に、エクスポート不可能フラグが立てられていて秘密キーがエクスポートできない場合がある。

export

よくあるのは銀行系の証明書で他のマシンでもログインしたいのに!

って感じなんでしょうか。windows標準の機能とかでは「もうマジ無理」って感じなんですが、いろいろ探していたらやっぱりありました。

Jailbreak

名前がもう危険な匂いしてますが、アメリカのセキュリティ企業との事なので大丈夫だと思いますが、もし誰か以下を実行する場合は完全に自己責任でお願いします。

 

秘密キーがエクスポートできて、IEからpfxでエクスポート出来るなら、何の問題も無い。

pemに変換とかも、opensslで簡単楽ちん。linuxマシンで

openssl pkcs12 -in <file.pfx> -out <out.pem>

てな感じでしょうか。

 

で、秘密キーのエクスポートが不可だと、pfxではエクスポートできず、p7bとかになってしまう。

そこでJailbreakとなるわけです。

 

操作は簡単。

上のサイトからJailbreakをダウンロード。

インストールとかは必要なく、コマンドプロンプトから以下を実行するだけ。

まずは、マシンにインストールされている証明書の一覧を見ますよ。

C:\Users\hogeuser\Downloads>jbstore.exe -l

Listing certificates in USER store

Subject Name: <発行先の名前>
Serial Number: d9 h9 fe cd fh 6s ee 1f 0d 19 ea b9 ac af 23 5a

Subject Name: <発行先の名前>
Serial Number: d6 dg 7h s6 6a 06 b6 7e 83 86 0s 1d 9g a2 f4 h3

ズラーっと出てきます。

ちなみに、オプションは以下

Usage:
jbstore <action> <options>
Actions:
-l List all certificates
-a Dump all certificates
-1 Dump one certificate
Options:
-s <store> Cerificate store, "SYSTEM" or "USER" (default is "USER")
-p <password> Password (default is "password"
-o <file name> Output file (default is "out.pfx"
-n <subject name> Subject name to use when dumping one cerificate
Example:
jbstore -l -s "USER"
jbstore -d -o foo.pfx -p foo
jbstore -1 n "iSEC User"

で、エクスポートしたい証明書のSubject Nameを指定して以下を実行。

C:\Users\hogeuser\Downloads>jbstore.exe -1 -n "Subject Name" -p "password"

Subject Nameとか、ちゃんと””で囲わないとエラーになるようです。

また、-pでパスワードを指定しない場合はデフォルトで「password」がパスワードとなるようです。

これは他マシンに移動して使う場合とかに必要になるので、控える&デフォルトでの運用はやめよう、という事ですな。

 

で、これだけで終了。

jailbreak.exeを置いたディレクトリにout.pfxが出来ております。

秘密キーがエクスポートできなくて苦労していたら、きっとpfxの拡張子が燦然と輝いて見えることでしょうw

なんか、秘密キーを取得する完全バックアップツールとかあるようですが、勢いで買わなくて良かった…。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です