OpenSSL 資料一覧

クライアント証明書組み込みにおける注意点

2007/10/23更新

対応バージョン: 0.9.8g

Webブラウザにクライアント証明書を組み込む場合、証明書をPKCS#12(*)という形式で読み込むため、pem形式の証明書をPKCS#12形式に変換する必要がある。

(*) PKCS : Public-Key Cryptography Standards (RSA Laboratoriesによる公開鍵暗号関連の規格)

このとき証明書がクライアントで正しく検証できるようCAの証明書もPKCS#12ファイルに組み込む。

% openssl pkcs12 -export -inkey privatekey.pem -in 01.pem \
-certfile cacert.pem -out newcert.pkcs12 

Enter PEM pass phrase: ← クライアント証明書秘密鍵のパスフレーズ
Enter Export Password: ← PKCS#12ファイルのexportパスフレーズ
Verifying password - Enter Export Password: ← 上記パスフレーズの再入力

ここでprivatekey.pemはクライアント証明書の秘密鍵、01.pemはクライアント証明書、cacert.pemはCAの証明書、newcert.pkcs12は出力されたPKCS#12形式のファイルになる。

パスフレーズを聞かれるので公開鍵の持ち主の立場でパスフレーズの入力を行ない、次いでエクスポートのためのパスワードを設定する)。

ここで作った各種ファイルは新しいリクエストを作成すると上書きされてしまうので別の名前に変更して保存するとよいだろう。

尚、newreq.pemとnewcert.pkcs12にはエンティティの秘密鍵が含まれており、所有者やパーミッションの設定を注意して第三者に見られないようにする必要もある。

こうしてできあがったPKCS#12ファイルをクライアントにコピーし、必要なブラウザに証明書をインポートする。