猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

Linux Network

opensslによる自己署名によるSSL

投稿日:2013年1月5日 更新日:

1.秘密鍵作成のための擬似乱数の情報を生成

# pwd
/etc/httpd/conf/ssl  sslは作成した作業用のフォルダ
# openssl md5 * > ./rand.dat

2.サーバ用秘密鍵(server.key)の作成

# openssl genrsa -des3 -out server2012.key -rand rand.dat 2048
48 semi-random bytes loaded
Generating RSA private key, 2048 bit long modulus
...................................................+++
...+++
e is 65537 (0x10001)
Enter pass phrase for server2012.key:★server2012
Verifying - Enter pass phrase for server2012.key:★server2012

3.認証局への署名要求書(server.csr)の作成

# openssl req -new -key server2012.key -out server2012.csr
Enter pass phrase for server2012.key:★server2012
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) [GB]:★JP
State or Province Name (full name) [Berkshire]:★Tokyo
Locality Name (eg, city) [Newbury]:★chuou-ku
Organization Name (eg, company) [My Company Ltd]:★TestCompany
Organizational Unit Name (eg, section) []:★TestSection
Common Name (eg, your name or your server's hostname) []:★test.jp
Email Address []:★

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

4.署名要求書(server.csr)にサーバ用秘密鍵(server.key)を使用して署名し、サーバー証明書(server.crt)を発行する。

# openssl x509 -req -days 3650 -sha1 -in server2012.csr -signkey server2012.key -out server2012.crt
Signature ok
subject=/C=JP/ST=Tokyo/L=chuou-ku/O=TestCompany/OU=TestSection/CN=test.jp
Getting Private key
Enter pass phrase for server2012.key:★server2012

5.(※任意)サーバー証明書(server.crt)をDERフォーマットへ変換してブラウザインポート用のバイナリ(ca.der)を作成

# openssl x509 -inform PEM -outform DER -in server2012.crt -out server2012.der

6.サーバー用秘密キーからパスフレーズを削除

これをしておかないと、apacheの再起動のたびに入力を要求されます。
運用上好ましくないので削除しておきます。

# cp server2012.key server2012.key.bak
# openssl rsa -in server2012.key -out server2012.key
Enter pass phrase for server2012.key:★server2012
writing RSA key

7.mod_sslのインストール

# yum install mod_ssl

8.ssl.confの編集

#vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/conf/ssl/server2012.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/server2012.key

9.ネームベースのSSLの設定 httpd.confの編集

ipでアクセスする場合は不要

#vim /etc/httpd/conf/httpd.conf
NamevirtualHost *:443
<VirtualHost *:443>
    DocumentRoot /var/www/html/
    ServerName test.jp
<VirtualHost>

10.apacheの再起動

※この際、6のパスフレーズの削除を行っていなければ、パスワードの入力を求められる

# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

11.クライアントのhostファイルの編集

windowsの場合
C:\WINDOWS\system32\drivers\etc/hosts を編集
192.168.xx.xx test.jpを追加
linuxの場合

# vim /etc/hosts を編集
192.168.xx.xx    test.jpを追加

12.クライアントに証明書をインストール

4か5で作成した証明書をクライアントのブラウザにインストールする。

13.SSLでアクセス

https://test.jp/

Gooleアドセンス用336

Gooleアドセンス用336

-Linux, Network
-

執筆者:

関連記事

tracert(windows) traceroute(linux) が遅い

traceが遅いのは名前解決に時間がかかっているためです。 サーバーは必ずしもDNSサーバーを持ちません。 そのため異常に遅く感じる場合は名前解決を疑いましょう。 とはいっても、ルーターによってはIC …

linux

vmwareにCentos6.4をGUIでインストールする

Centos5.xまでは簡単にできたのですが、GUIでインストールしたいがために数回リトライするハメになりましたのでメモ・・・。 INDEX1 メモリの割り当てを減らしすぎてはいけない2 vmware …

linux

vmware上のCentOSに仮想化ソフトxenをインストールする(2)ドメイン0のインストール

管理osであるドメイン0のインストール方法です。 INDEX1 xenのインストール2 GRUBの設定変更3 確認 xenのインストール # yum install xen virt-manager …

linux

grepの検索方法のまとめ

grep [検索文字列] [検索対象] が基本ですが、検索対象はファイル内の文字列であったりファイル名であったりします。 INDEX1 ファイルの中の文字列を検索する2 ファイル名を検索する3 ディレ …

linux

E173: 編集すべきファイルが x 個あります

viでE173: 編集すべきファイルが x 個あります と表示されたことはないでしょうか・・・。 vi file.txt ] とタイプミスのために2つのファイルが開いただけでした・・・ 入門vi 第6 …