はじめに

このページでは、opensslを使って自己署名のサーバ証明書およびクライアント証明書を作成する方法について説明します。

自己署名用の認証局の作成

まず、自己署名証明書を発行するための認証局を作成します。

自己署名用の認証局の作成
$ mkdir -p ./ca/newcerts
$ openssl req -new -x509 -keyout ./ca/cakey.pem -out ./ca/cacert.pem -days 365
$ touch ./ca/index.txt
$ echo '01' > ./ca/serial

この操作で「./ca」配下に、証明書を発行するためのファイル一式が作成されます。
これらのファイル一式をもれなく保存し、無くさないようにしてください。

サーバ証明書の作成

サーバ証明書を生成する(openssl)」の手順で作成されたCSRをもとに、下記の通りサーバ証明書を作成します。

サーバ証明書の作成
$ openssl ca -config ./openssl_server.conf -in server_csr.pem -out server_cert.pem

上記の手順により生成された「server_cert.pem」がサーバ証明書になります。

opensslのca(認証局)のコマンドは引数が多いので、設定をファイルに逃すのが一般的です。
引数で指定している「openssl_server.conf」はここから入手できます。

クライアント証明書の作成

クライアント証明書を生成する(openssl)」の手順で作成されたCSRをもとに、下記の通りクライアント証明書を作成します。

クライアント証明書の作成
$ openssl ca -config ./openssl_client.conf -in client_csr.pem -out client_cert.pem

上記の手順により生成された「client_cert.pem」がクライアント証明書になります。

opensslのca(認証局)のコマンドは引数が多いので、設定をファイルに逃すのが一般的です。
引数で指定している「openssl_client.conf」はここから入手できます。

証明書の作成時のエラーへの対応方法

CSRから証明書を作成する際に、以下のようなエラーが発生する場合があります。

証明書の作成時のエラー
failed to update database
TXT_DB error number 2

この場合には、以下のようにして「./ca/index.txt」の中身を空にしてください。

証明書の作成時のエラーへの対処方法
rm ./ca/index.txt
touch ./ca/index.txt


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。