|
まずはランダムなファイルを生成
現存するファイルを元に生成。
# openssl md5 * > rand.dat
*: No such file or directory
# openssl md5 * > rand.dat
ディレクトリに何も無いと怒られますが、2度目で1度目のrand.datを元にランダムファイルが作られます。
# ls
rand.dat
# cat rand.dat
MD5(rand.dat)= d41d8cd98f00b204e9800998ecf8427e
このランダムなファイルを元に、パスフレーズ付き秘密鍵を生成
# openssl genrsa -rand rand.dat -des3 1024 > ca.key
48 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
...................................++++++
.............................................++++++
e is 65537 (0x10001)
Enter pass phrase:(パスワード入力)
Verifying - Enter pass phrase:(再パスワード入力)
秘密鍵ができました。
# cat ca.key
-----BEGIN RSA PRIVATE KEY- Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,1422EC9B7CFF1AF9
L7JNy0g6eW9Mo9hbJiXxeRxoNb19QI9NR7++qExKEHbL3tg9MA9xkbEcLERY4TNo
…
…
…
…
…
8uXtS0Li0LcBMD1mfQ7SdLG/MWXEGl4eaFqMHEglIfvxCnxLakSYKPFKgM9UQ9ZW
HSG34E0wp40GhtQTRzYh4wQCvSBfPlPXuusLmj75EqWhqAJgQzuIGw==
-----END RSA PRIVATE KEY- この秘密鍵は、Webサーバの設定で使います。
秘密鍵を元にCSR(証明書要求)を作成
# openssl req -new -key ca.key -out ca.csr
Enter pass phrase for ca.key:
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]:Shizuoka
Locality Name (eg, city) [Newbury]:Kosai-shi
Organization Name (eg, company) [My-Company-Ltd]:Test Co., Ltd.
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:test.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
できました、CSR(証明書要求)。
# ls
ca.csr ca.key rand.dat
# cat ca.csr
-----BEGIN CERTIFICATE REQUEST- MIIBoDCCAQkCAQAwYDELMAkGA1UEBhMCSlAxETAPBgNVBAgTCFNoaXp1b2thMRIw
…
…
…
…
…
4iSZ4RZlMJ4UOJPHz2IUkOLhTc3JAIHGxZ1gWeMJuPmYhrHyvxZTD6CLclw5v9ne
ceOdnl5ABBMd1EwNNGeDvkqhIQ+Q+4ehRR+6gaSaI+3rn9zQ
-----END CERTIFICATE REQUEST-
認証局から、署名付きの証明書を貰う
できたCSR(証明書要求)を認証局に送ると、証明書が送られてきます。
この証明書もWebサーバの設定で使います。
無料でSSL証明書を発行してくれるサイトはそんなには無いようです。
・CAcert
・startssl
ちなみに、CSRの作成を飛ばして、いきなりサーバ証明書を作るのは以下。
# openssl req -new -x509 -days 3653 -text -key ca.key -out ca.crt
Webサーバ設定
『ports.conf』
Listenを80から443に変更。
『ssl.conf』
SSLPassPhraseDialog を builtin から exec:/usr/local/sbin/pass.sh に変更してパス入力自動化。
『pass.sh』はこんな感じ。
# cat pass.sh
#!/bin/sh
host=`echo $1 | cut -d: -f1`
if [ "$host" = "test.com" ]; then <-注)全角[]は本来半角です
echo testpasswordabc;
fi
"$host" = "****" の、****が間違っていたり変なホストが混じっているとapache の起動に失敗します。
後は、オリジナルのssl.confをそのまま利用して「秘密鍵」と「証明書」を指定してあげれば、httpsでアクセスできる。
SSLCertificateFile /etc/httpd/conf/ssl/ssl.key/ca.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/ssl.key/ca.key
※ 『Linux』に繋がる関連物を 視覚的に探しだせるサイトを作ってみました(よろしければクリックしてみてくださいね)。
リンク元:
(1) : http://www.google.co.jp/search?q=openssl+md5+*+%3E+rand.dat&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
(1) : http://www.google.co.jp/search?hl=ja&lr=&q=linux+web%E3%82%B5%E3%83%BC%E3%83%90&start=50&sa=N
(1) : http://www.google.co.jp/search?q=openssl+md5+*&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
(1) : http://www.google.co.jp/search?hl=ja&rlz=1B3MOZA_jaJP354&q=ATOM+WEB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&btnG=%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=
(1) : http://www.google.co.jp/search?hl=ja&source=hp&q=openssl+md5+*+%3E+rand.dat&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=
(1) : http://www.google.co.jp/search?hl=ja&safe=off&rls=com.microsoft%3Aja%3A&rlz=1I7TSHJ_en&q=openssl+md5+rand&btnG=%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=
(1) : http://www.google.co.jp/search?hl=ja&source=hp&q=openssl+md5+rand.dat&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=&aq=0&oq=openssl+md5
(1) : http://www.google.co.jp/search?q=atom+%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&btnG=%E6%A4%9C%E7%B4%A2&hl=ja&lr=&rlz=1C1GGLS_ja___JP354&sa=2
(1) : http://www.google.co.jp/search?hl=ja&q=linux+rand.dat&btnG=%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=
(1) : http://www.google.co.jp/search?q=Atom+%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rlz=1R1GGGL_ja___JP333&client=firefox-a
ページ閲覧者数:20人
[ Linux ] 一覧へ
|