自己証明書
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の目的は満たされないことは理解しておきましょう。
カテゴリー: Linux
最近のコメント