| | 1 | [[PageOutline]] |
| | 2 | |
| | 3 | == mod_ssl == |
| | 4 | * mod_ssl の設定 |
| | 5 | * [http://d.hatena.ne.jp/kiririmode/20081214/p1 mod_ssl のディレクティブ - 理系学生日記] |
| | 6 | |
| | 7 | == SSL 証明書の作り方 == |
| | 8 | * install openssl |
| | 9 | * /etc/ssl/openssl.cnf /usr/lib/ssl/misc/CA.sh を適宜変更 |
| | 10 | * [3] |
| | 11 | * CA.sh を使った場合、カレントディレクトリに「demoCA」というディレクトリが作られる |
| | 12 | * 違うディレクトリ・ファイル名にする場合は、45行目前後を変更する (今回はデフォルトのまま) |
| | 13 | {{{ |
| | 14 | CATOP=./demoCA |
| | 15 | CAKEY=./cakey.pem |
| | 16 | CAREQ=./careq.pem |
| | 17 | CACERT=./cacert.pem |
| | 18 | }}} |
| | 19 | |
| | 20 | === rootCA === |
| | 21 | * sudo /usr/lib/ssl/misc/CA.sh -newca |
| | 22 | {{{ |
| | 23 | Country Name (2 letter code) [AU]:JP |
| | 24 | State or Province Name (full name) [Some-State]:Ibaraki |
| | 25 | Locality Name (eg, city) []:Tsukuba |
| | 26 | Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private CA for mitty.jp |
| | 27 | Organizational Unit Name (eg, section) []: |
| | 28 | Common Name (eg, YOUR name) []:Private CA for mitty.jp |
| | 29 | Email Address []: |
| | 30 | }}} |
| | 31 | * ここで、「Organization Name」は後で作るサーバ証明書とは違う物にしておく |
| | 32 | * 「Common Name」はサーバ証明書ではサーバのFQDNだが、ルートCA証明書の場合はドメインでなくて良い |
| | 33 | * sudo openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/cacert.der |
| | 34 | * ブラウザインポート用のルートCA証明書(任意) |
| | 35 | * sudo /usr/lib/ssl/misc/CA.sh -newreq |
| | 36 | {{{ |
| | 37 | Country Name (2 letter code) [AU]:JP |
| | 38 | State or Province Name (full name) [Some-State]:Ibaraki |
| | 39 | Locality Name (eg, city) []:Tsukuba |
| | 40 | Organization Name (eg, company) [Internet Widgits Pty Ltd]:mitty.jp |
| | 41 | Organizational Unit Name (eg, section) []:laboratory |
| | 42 | Common Name (eg, YOUR name) []:lab.mitty.jp |
| | 43 | Email Address []: |
| | 44 | }}} |
| | 45 | * ルートCAへ送付する、サーバ証明書リクエストファイルとサーバ秘密鍵を作成 |
| | 46 | * sudo openssl rsa -in ./newkey.pem -out ./newkey.pem |
| | 47 | * サーバ秘密鍵からパスフレーズの削除 (Apacheが起動する際にパスフレーズを聞かれなくてすむようにする) |
| | 48 | * sudo /usr/lib/ssl/misc/CA.sh -sign |
| | 49 | {{{ |
| | 50 | Enter pass phrase for ./demoCA/private/cakey.pem: |
| | 51 | |
| | 52 | Signed certificate is in newcert.pem |
| | 53 | }}} |
| | 54 | * ルートCAを作った際の秘密鍵のパスフレーズをtype |
| | 55 | * サーバ証明書がnewcert.pemとして作成される |
| | 56 | * sudo openssl x509 -in newcert.pem -out newcert.crt |
| | 57 | * サーバ証明書から必要な部分だけを切り出す |
| | 58 | |
| | 59 | * 作成物 |
| | 60 | * ./newkey.pem サーバ秘密鍵 |
| | 61 | * ./newcert.crt サーバ証明書 |
| | 62 | * ./demoCA/cacert.der (作った場合)サーバ証明書に対するルートCA証明書 |
| | 63 | |
| | 64 | === 参考 === |
| | 65 | * [http://www.aconus.com/~oyaji/www/certs_linux.htm SSL用証明書の作成(Linux編)] |
| | 66 | |
| | 67 | * [http://tkns.homelinux.net/memo/mandrivalinux10.1/openssl.html Memo of the OpenSSL] |
| | 68 | * [http://d.hatena.ne.jp/rudeboyjet/20070124/p1 Debian etchでSSL - よしだメモ] |
| | 69 | * [http://www.shitomi.jp/ubuntu804/apache.html Apache (Webサーバー)/Ubuntu 8.04] |