« おれおれCA(プライベート認証局)構築編 | main | おれおれ証明書(プライベート証明書) クライアント証明書編 »

おれおれ証明書(プライベート証明書) サーバ証明書編

  • author: Tadashi
  • 2010/07/09 19:08

おれおれCA(プライベート認証局)が構築できたところで、「サーバ証明書」を作成していきます。いわゆる「ルート証明書」に当たるものです。

サーバ証明書の作成は、秘密鍵を作って、署名リクエストを作成して、CAに認証させるという手順を踏むのですが、CAを新しく作る手順の場合は、このCA作成のなかでほとんどの手順が終了してしまっています。

それではできている公開鍵が認証できるかどうか確認してみましょう。
# openssl verify /etc/pki/CA/cacert.pem



cacert.pem: /C=JP/ST=Tokyo/L=Shinagawa-ku/O=Fs DataCenter CA/CN=ca1.free-style.biz
error 18 at 0 depth lookup:self signed certificate
OK

SSL証明書用のユーザディレクトリを作成して、移動します。
# mkdir /usr/local/ssl
# cd /usr/local/ssl

クライアントに組み込むためのサーバ証明書を作成します。
# openssl x509 -inform pem -in /etc/pki/CA/cacert.pem -out ca1.free-style.biz.crt -outform der

これで終わりです。

というのもあんまりですので、別に証明書を作成して署名してみましょう。

証明書はユーザディレクトリに作成します。
# cd /usr/local/ssl

新しく秘密鍵を2048bitで生成します。
# openssl genrsa -out private.pem 2048



Generating RSA private key, 2048 bit long modulus
..+++
..........................+++
e is 65537 (0x10001)

秘密鍵を使用して署名リクエスト(公開鍵)を作成します。
# openssl req -new -key private.pem -out request.pem



You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [JP]:
→そのままEnterキー
State or Province Name (full name) [Tokyo]:
→そのままEnterキー
Locality Name (eg, city) [Shinagawa-ku]:
→そのままEnterキー
Organization Name (eg, company) [Fs DataCenter CA]:
→そのままEnterキー
Organizational Unit Name (eg, section) []:
→そのままEnterキー
Common Name (eg, your name or your server's hostname) []:
→ホスト名(ca1.free-style.biz)を入力します。(各自お好みで)
Email Address []:
→そのままEnterキー

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
→そのままEnterキー
An optional company name []:
→フレンドリ名(Fs DataCenter CA)を入力します。(各自お好みで)


「Netscape用」と言われていますが、クライアント用に必要なCA認証付きの署名リクエストを作成します。

作成はCAフォルダで実行します。
# cd /etc/pki/tls/misc
# openssl ca -policy policy_anything -out /usr/local/ssl/cert-ca.pem -infiles /usr/local/ssl/request.pem



Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for ../../CA/private/cakey.pem:
→CAの秘密鍵のパスフレーズを入力します。
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 5 (0x5)
Validity
Not Before: Jul 9 06:29:55 2010 GMT
Not After : Jul 8 06:29:55 2020 GMT
Subject:
countryName = JP
stateOrProvinceName = Tokyo
localityName = Shinagawa-ku
organizationName = Fs DataCenter CA
commonName = ca1.free-style.biz
X509v3 extensions:
X509v3 Basic Constraints:
CA:TRUE
Netscape Cert Type:
SSL Client, SSL Server, S/MIME, Object Signing
X509v3 Subject Key Identifier:
27:9F:05:BB:21:DC:E7:3A:86:04:22:04:70:B2:28:07:6B:66:19:00
X509v3 Authority Key Identifier:
keyid:AF:3D:E9:BC:17:83:29:D7:C0:4D:3F:E0:32:51:2C:BF:B1:B4:0A:00

Certificate is to be certified until Jul 8 06:29:55 2020 GMT (3652 days)
Sign the certificate? [y/n]:
→「証明書に署名しますか?」と聞かれるので、素直に「y」

1 out of 1 certificate requests certified, commit? [y/n]
→「署名リクエストを作成しますか?」と聞かれるのに、ここも素直に「y」
Write out database with 1 new entries
Data Base Updated


正常にサーバ証明書が作成されたか確認します。
CAの公開鍵と作成したサーバ証明書の指定はフルパスが確実です。
# openssl verify -CAfile /etc/pki/CA/cacert.pem /usr/local/ssl/cert-ca.pem
「/usr/local/ssl/cert-ca.pem: OK」と表示されれば正常に作成されています。


この記事へのトラックバック

この記事のトラックバックURL :

この記事へのコメント

この記事にコメントする

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)