自己証明書

CentOSに限ったことではないですが、opensslで自己証明書をつくってapacheでオレオレ証明書をテストしてみる(CAは立てない)

CentOSであれば、

yum install httpd mod_ssl

あたりをインストールしておく。
また、CentOS(RHEL)系の場合は、

cd /etc/httpd/conf
make server.key
make server.crt

このあたりで、設定できそうですが、うまくいくかわからないので、下のコマンドラインでやります。(やってることは一緒です)

秘密鍵生成
openssl genrsa -des3 -out server.key 1024
パスフレーズ除去
openssl rsa -in server.key -out server.key
自己証明書を作成
openssl req -new -key server.key -x509 -out server.crt
Country Name (2 letter code) [AU]: 国
State or Province Name (full name) [Some-State]: 県
Locality Name (eg, city) []: 市町村名
Organization Name (eg, company) [Internet Widgits Pty Ltd]: 組織名
Organizational Unit Name (eg, section) []: 部署名
Common Name (eg, YOUR name) []:サーバ名(FQDN名)
Email Address []: メールアドレス
証明書の有効期限を30年とかで作っちゃう
openssl req -new -key server.key -x509 -days 10950 -out server.crt
ブラウザに証明書をインポートできるようにPEM形式→PKCS12形式へ変換
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12
Enter Export Password:エクスポート用のパスワード
Verifying - Enter Export Password:パスワード確認

CentOSの場合は、上で作成した鍵を以下のところに配置すれば、/etc/httpd/conf.d/ssl.confに設定してあるファイルとなるので、なにも考えなくてもhttpsで接続可能となります。IPベースでバーチャルホストする場合は、ssl.confなどいろいろ書き換えてください。

/etc/httpd/conf/ssl.key/server.key
/etc/httpd/conf/ssl.crt/server.crt

クライアント側では、PKCS12形式のファイルをもってきて、IEの場合はダブルクリックして証明書のインポートウィザードがたちあがるので、上で入力したパスワードを入力してインポートします。(インターネットオプション→コンテンツのタブ→証明書のボタンでも可)、Firefox2の場合は、ツール→オプション→詳細タブ→証明書を表示→インポートでインポートできます、接続してから、警告のダイアログでインポートしちゃってもいいですが。

一応、お約束で、あくまでなんちゃって証明書なので、SSL通信はされますが、接続先が正しいかどうかなど本来のSSLの目的は満たされないことは理解しておきましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA