OpenSSL

Fedora Core 5 では /etc/pki/ に証明書関係のファイルは配置されるようです。ここでは、OpenSSLによるサーバ証明書の発行の手順をまとめてみました。

サーバ証明書署名要求と秘密鍵の作成

 コマンドを実行して,サーバ証明書署名要求(csr.pem)と秘密鍵(privkey.pem)を作成します。

# openssl req -new -out csr.pem

 作成にあたっては下記の項目について決めておく必要があります。いくつかは省略可能なのでそのままエンターキーを押下することにします。

  • pass phrase:changeit
  • Country Name (2 letter code) [GB]:JP
  • State or Province Name (full name) [Berkshire]:Tokyo
  • Locality Name (eg, city) [Newbury]:Ueno
  • Organization Name (eg, company) [My Company Ltd]:sssg
  • Organizational Unit Name (eg, section) [ ]:
  • Common Name (eg, your name or your server’s hostname) [ ]:192.168.0.1
  • Email Address [ ]:
  • A challenge password [ ]:
  • An optional company name [ ]:

 開発で利用する場合には、秘密鍵(privkey.pem)から,パスフレーズを削除した秘密鍵(server.key)が欲しいこともあるでしょう。その場合は次のようにします。どちらのファイルも秘密鍵のファイルとして使うことができます。

# openssl rsa -in privkey.pem \
-out /etc/pki/tls/private/server.key

自己認証局(プライベートCA)の構築

自己認証局(プライベートCA)を構築するには、次のようなコマンドを実行します。最初に作成するファイル名を指定するプロンプトがでますが、指定しないのならそのままエンターキーを押下します。デフォルトではカレントディレクトリにファイルはできあがります。「/etc/pki/CA」などへ作成してもいいでしょう。


# /etc/pki/tls/misc/CA -newca

 構築にあたっては下記の項目について決めておく必要があります。いくつかは省略可能なのでそのままエンターキーを押下することにします。CAの構築前にデフォルト設定値を変更したい場合は/etc/pki/tls/openssl.cnfを編集します。たとえば、有効期間を30日に指定するには「 default_days = 30 」のようにします。

  • pass phrase:changeit
  • Country Name (2 letter code) [GB]:JP
  • State or Province Name (full name) [Berkshire]:Tokyo
  • Locality Name (eg, city) [Newbury]:Ueno
  • Organization Name (eg, company) [My Company Ltd]:sssg
  • Organizational Unit Name (eg, section) [ ]:
  • Common Name (eg, your name or your server’s hostname) [ ]:192.168.0.1
  • Email Address [ ]:
  • A challenge password [ ]:
  • An optional company name [ ]:

サーバー証明書の作成

 自己認証局を構築するとサーバ証明書署名要求(csr.pem)から、サーバ証明書を作成することができます。ただし、ここでは自己認証局を使って署名をするため、自己署名証明書になります。

# openssl ca -out /etc/pki/tls/certs/server.crt \
-infiles csr.pem

 作成したサーバ証明書のフィンガープリントは次のコマンドで表示することができます。

# openssl x509 -fingerprint -noout \
-in /etc/pki/tls/certs/server.crt

同じカテゴリの記事: Linux