2012年11月20日火曜日

サーバー用の証明書関連の作成


まずopensslの設定をserver証明書用に修正します。

# diff -U0 /System/Library/OpenSSL/openssl.cnf.org /System/Library/OpenSSL/openssl.cnf
--- /System/Library/OpenSSL/openssl.cnf.org
+++ /System/Library/OpenSSL/openssl.cnf
@@ -101 +101 @@
-default_bits = 1024
+default_bits = 2048
@@ -172 +172 @@
-# nsCertType = server
+nsCertType = server


最初にサーバー用の秘密鍵を作成します。

# openssl genrsa -out server.key 2048

server.keyが出来上がります。

次にサーバー用の証明書要求ファイルを作成します。

# openssl req -new -key server.key -out server.csr

countryName,stateOrProvinceName,LocalNameはJP,Tokyo,など適当に。
OrganizationNameはhogehoge Server
Organization Unit Nameはhogehoge
Common NameはサーバーのDNS名 (www.xxx.comなど)これが合っていないとwebアクセス時に偽装サーバーの警告が出ます。
Emailは自分のアドレス。
extraは空欄

本来はここまでがサーバー管理者の仕事で、ここで作成したserver.csrを認証局に送って認証してもらいます。

サーバー用の証明書作成

# openssl x509 -CA ./demoCA/cacert.pem -CAkey ./demoCA/private/cakey.pem -CAserial ./demoCA/serial -req -days 365 -in server.csr -out server.crt

PrivateCAのpass phraseを入力することで認証されます。
ここは本来認証局の仕事。今回はPrivateCAなので自分でやります。

出来上がったserver.key, server.crtとCAのファイルdemoCA/cacert.pemをapache2の設定directory /private/etc/apach2/にコピーします。

0 件のコメント:

コメントを投稿