ユーザ用ツール

サイト用ツール


ubuntu-server-10-04:self-signed_certificate

文書の過去の版を表示しています。


自己署名サーバ証明書の作成

サーバの鍵を作成

きちんと信用されるCAに署名してもらうにしても、自己署名するにしても、とりあえずは署名してもらう鍵をつくらなければ。

鍵長が1024では安全ではないといわれる昨今なので、ゴッツく4096で。

$ sudo openssl genrsa -des3 -out server.key 4096

パスワードを聞かれるので2回同じものを入力。

今作った鍵はパスワードで暗号化された鍵。サーバデーモンで使用する場合、毎回パスワードを入力して使用していては利便性に問題があるので、パスワードを解除した鍵を作成。

$ sudo openssl rsa -in server.key -out server.key.insecure

わかりやすく名前を変更。

$ sudo mv server.key server.key.secure
$ sudo mv server.key.insecure server.key

Certificate Signing Request (CSR) を作成する。

$ sudo openssl req -new -key server.key -out server.csr

いろいろ質問されるので答えておく。適当にエンターすると署名できない。'.'を入力するとブランクになる。

  • Country Name (2 letter code): 国コード
  • State or Province Name: 州名/都道府県名
  • Locality Name: 市町村名
  • Organization Name: 組織名
  • Organizational Unit Name: 組織内ユニット名
  • Common Name: HTTPでアクセスするホスト名を設定する www.example.com
  • Email Address: 連絡先のメールアドレス

この csr ファイルを自分で作った CA に署名させる。

Certification Authority を作成

初めに Certification Authority (CA) を作成。

CAが使用するファイルをまとめるディレクトリを作成。

$ sudo mkdir /etc/ssl/CA
$ sudo mkdir /etc/ssl/newcerts

CAが使用するファイルを作成。1つ目がCAが発行した証明書につけられる通し番号を記憶するファイル。2つ目は発行された証明書を記録するファイル。

$ sudo sh -c "echo '01' > /etc/ssl/CA/serial"
$ sudo touch /etc/ssl/CA/index.txt

3つ目は必須ではないが、複数回証明書を発行する場合は設定しとくと便利。 /etc/ssl/openssl.cnf の [ CA_default ] 内を変更。

dir             = /etc/ssl/             # Where everything is kept
database        = $dir/CA/index.txt     # database index file.
certificate     = $dir/certs/cacert.pem # The CA certificate
serial          = $dir/CA/serial        # The current serial number
private_key     = $dir/private/cakey.pem# The private key

ルート認証局の鍵と証明書を作成する。10年間有効で鍵長は4096bit。

$ sudo openssl req -newkey rsa:4096 -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

作成中に国コードなどの質問があるが、なにか入力しておかないと後で署名できなくなる。

作成されたファイルをインストールする。

$ sudo mv cakey.pem /etc/ssl/private/
$ sudo mv cacert.pem /etc/ssl/certs/

作成したCAで署名

server.csr を作成したCAで署名する。

$ sudo openssl ca -in server.csr -config /etc/ssl/openssl.cnf
ubuntu-server-10-04/self-signed_certificate.1285412327.txt.gz · 最終更新: 2010/09/25 19:58 by admin