FreeBSD/CAcert.orgで無料のSSL

CACert.orgで無料のSSL

秘密鍵の作成

# openssl genrsa -out /usr/local/etc/apache22/server.key 1024

秘密鍵からサーバのx509証明書発行要求(CSR)を作成

# openssl req -new -key /usr/local/etc/apache22/server.key -out /root/server.csr

CAcert.orgで証明書を作成

無料なので、CAcert.org に登録を行って認証局ありのSSLのしてしまいましょう。

トップページ

右側にあるメニューの中に Translationsをから日本語を選択すると、日本語で表示してくれます。

cacert01.jpg

会員登録

まずは、右のメニューから「参加」をクリックして登録を行います。

cacert02.jpg

5つの質問と答えは、全部入れないと登録できないようです。 例)dog? inu

cacert03.jpg

登録したメールアドレスに認証用のURLがあり、これをクリックすると登録は完了

ドメインの登録

ドメイン ⇒ 追加 でドメインを登録します。

cacert04.jpg
cacert05.jpg
cacert06.jpg

選択したアドレスに届いたメールについているURLをクリックすると、ドメインの登録が完了します。

Apacheの設定

秘密鍵生成

作成は「/usr/local/etc/apache22/」で行うようにします。

# cd /usr/local/etc/apache22/
# openssl genrsa -out server.key 1024

CSR(証明書申請データ)生成

# openssl req -new -key server.key -out server.csr
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) [AU]:JA
State or Province Name (full name) [Some-State]:NAGANO-KEN
Locality Name (eg, city) []:NAGANO-SI
Organization Name (eg, company) [Internet Widgits Pty Ltd]:CAcert inc.
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:ma21.ath.cx
Email Address []:matsui@ma21.ath.cx

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

# cat server.csr 
-----BEGIN CERTIFICATE REQUEST-----
MIIBxjCCAS8CAQAwgYUxCzAJBgNVBAYTAkpBMRMwEQYDVQQIEwpOQUdBTk8tS0VO
MRIwEAYDVQQHEwlOQUdBTk8tU0kxFDASBgNVBAoTC0NBY2VydCBpbmMuMRQwEgYD
VQQDEwttYTIxLmF0aC5jeDEhMB8GCSqGSIb3DQEJARYSbWF0c3VpQG1hMjEuYXRo
LmN4MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvNdI3ZqDMug8BXxowfXnT
w3QQ0GPEedmjI3gV4WYeldEEBg8bqhiBEir/37OFgmgVSLMWUClc/47dCPFdXs49
yJreiTKVvHjZ8wFIeMb+iqvbJ7h7hmKMTU+lxdMKeAE1wd0JPcGJ5YlrBjJiTVUl
k3JfsKwlUDfbt2AhRLhJ9QIDAQABoAAwDQYJKoZIhvcNAQEEBQADgYEAEjg9nH9v
jIF1mwG8q5koRQLBLvasC6WnPJzPrTj1uow7vsSMQmGJyZW0HG1L8zqOUua/fBk8
XJ+IKoI9/6QlQvi/n0FLlNkwCJcvYRQabG4XIJc9KNiJRXi1Rfx1m6jHQs6AVQPN
3ptLu4SYErlWdvauyR89sziinZ2piXTBlv0=
-----END CERTIFICATE REQUEST-----

CAcert.orgでサーバ証明書の作成

右メニューから サーバ証明書 ⇒ 新規作成

cacert07.jpg

Paste your CSR(Certificate Signing Request) below...
と書かれている部分に、CSRの内容をそのままコピーします。

cacert08.jpg

送信ボタンをクリックすると、下記のようなメッセージが出ます。

そのまま、また送信ボタンをクリックすると証明書が表示されます。

次の詳細が正しいことを確認してから、この先に進んでください。

CommonName: ma21.ath.cx
追加情報は、システムが自動的にチェックできないので、証明書に含まれません。
cacert09.jpg

この証明書を/usr/local/etc/apache22/server.crtとして保存します。

# chmod 600 /usr/local/etc/apache22/server.crt

CAのルート鍵を登録

ここから、Root Certificate (PEM Format)をダウンロード http://www.cacert.org/index.php?id=3

インターネットオプション ⇒ コンテンツ ⇒ 証明書

「信頼されたルート証明機関」にインポートする