| 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] |