感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

秘密鍵と証明書を作ってみた。

<スポンサーリンク>

SSLって何?

SSLはSecure Sockets Layerの略で、もともとはWWWサーバとブラウザとの間の情報交換を安全に行うために開発されたプロトコルです。
SSLプロトコルは米Netscape Communications Corporationによって開発された暗号化通信のためのプロトコルのこと。
TCP/IPトランスポート層とアプリケーション層の間で動作する。

SSLによる暗号化通信は、公開鍵暗号方式を利用する。
公開鍵暗号方式は昨日のブログで解説したとおりの方式で、秘密鍵と公開鍵を利用して暗号通信を行う。

SSL/TLSで使われる証明書は、ユーザー情報と公開鍵を、認証機関(CA:Certification Authority)の秘密鍵で暗号化したものである。
認証機関の秘密鍵で暗号化することで、公開鍵が確かに送り手のものであることを証明する。

証明書の種類

・グローバル証明書:インターネット上の正式な認証機関によって認証された証明書
・プライベート証明書:企業や組織の内部だけ
・事故署名証明書:認証局に署名されず、自分で署名を行った証明書

自己証明書を作成してみる(秘密鍵を作成してみる)

以下のディレクトリに移動する。

[root@localhost ~]# cd /etc/pki/tls/certs/
[root@localhost certs]# pwd 
/etc/pki/tls/certs

上記のディレクトリで、makeを実行。サーバの鍵を作成する。

[root@localhost certs]# make my.crt
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
umask 77 ; \
	/usr/bin/openssl genrsa -aes128 2048 > my.key
Generating RSA private key, 2048 bit long modulus
............................+++
.........................................................+++
e is 65537 (0x10001)
Enter pass phrase:
Enter pass phrase for my.key:
Country Name (2 letter code) [XX]:JP #管理するサーバの所在地を入力
State or Province Name (full name) []:Yokohama
Locality Name (eg, city) [Default City]:Yokohama
Organization Name (eg, company) [Default Company Ltd]:Mr.satan
Organizational Unit Name (eg, section) []:satan
Common Name (eg, your name or your server's hostname) []:www.mr.satan
Email Address []:mrsatan@yahoo.co.jp

上記の作業を実行すると、/etc/pki/tls/certs以下に秘密鍵と証明書が作成される。

-rw-------. 1 root root   1424 Jun 18 05:28 my.crt
-rw-------. 1 root root   1766 Jun 18 05:26 my.key

証明書の内容を確認するには

[root@localhost certs]# openssl x509 -noout -text -in my.crt
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 0 (0x0)
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=JP, ST=Yokohama, L=Yokohama, O=Mr.satan, OU=satan, CN=www.mr.satan/emailAddress=mrsatan@yahoo.co.jp
        Validity
            Not Before: Jun 18 12:28:22 2013 GMT
            Not After : Jun 18 12:28:22 2014 GMT
        Subject: C=JP, ST=Yokohama, L=Yokohama, O=Mr.satan, OU=satan,

読んだ本(参考文献)

CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)

CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)


Cent OSのサーバ構築のバイブル。
コレなしではサーバはいじれないレベル。