サーバ証明書の作成苦労しましたが無事動いているみたいです。
こちらもいつものようにものすごくはまりました。
アップルのPanther Server用のドキュメントページにある「Webテクノロジの管理 」 だと自らCAをやる場合に対応できないので、いろんなサイトをgoogleであさりつつ 試してみるもどーにもうまくいきません。 ASN1_get_object:header too long とかが出てしまう。 作った証明書がまずいのかと思い、FreeCA さんから証明書を取得して(フリー!!!) ためしてみたところ、 openssl pkcs12 -in loadcert -out certs.txt -nodes と -nodes で実施すると一応、エラーが出なくなった。しかし、動かない。 アップルのディスカッションボードにて[SSL]で検索すると素晴らしい情報が。 SSLが稼働せず HTTPサービスで「パフォーマンスキャッシュ」を有効にしているとどうやらうまく動かないようですよ。 やってみた。動作した!!! 素晴らしい。 さらに、appleから認証局をたてる場合についての情報 まである!!! 以下、上記の情報にもとづいた構築メモ。 1. 作業用のディレクトリを作成する。 必須ではないが、作成した方が良さげな気がするので、 /System/Library/OpenSSL/ の下に作成する。 # mkdir /System/Library/OpenSSL/work # cd work 2. CA認証局を作成する。 ※ここでの作業でdemoCAディレクトリが作成されるので、既にdemoCAがあるディレク トリでの作業はさけましょう。 「これからCAをつくるんだ」 と思いつつ以下の作業を実行する。(重要) 証明書を発行してもらうサーバ側でも似たようなことをするので、今どっちだっけ? てなことになりがち。 # /System/Library/OpenSSl/misc/CA.pl -newca を実行する。 # /System/Library/OpenSSL/misc/CA.pl -newca CA certificate filename (or enter to create) 名前を聞かれるがここはリターンキーを押す。すると秘密鍵が生成され、 Making CA certificate ... Generating a 1024 bit RSA private key ................................++++++ .++++++ writing new private key to './demoCA/private/cakey.pem' Enter PEM pass phrase: のようにパスフレーズを聞かれる。いい感じのものを入力する。 確認でもう一回と入力を促される。 こいつらの入力にはcontrol-uが効くみたいなので、失敗したら全クリアとしてcontrol-uを 使うと便利かもしれない。 ----- 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) [JP]: ("JP"で問題なし) State or Province Name (full name) [Tokyo]: (お住まいのところで問題なし) Locality Name (eg, city) [Setagaya]: (お住まいのところで問題なし) Organization Name (eg, company) [xxxx]: (ドメイン名とかでよい) Organizational Unit Name (eg, section) [xxxx]: (いい感じでつける。ただし後で作るサーバと異なる方が良いみたい) Common Name (eg, YOUR name) []: (いい感じでつける。) Email Address [xxx@foo.bar.com]: (有効なメールアドレスがよい。) 場合によるとこの後、以下のものが出てくるが、両方ともリターンでOK。 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: するとdemoCAディレクトリが作成される。 3. サーバのプライベートキーとCSRを作成する。 「今度はサーバ側だ。」と思いつつ、以下のスクリプトを実行する。 # /System/Library/OpenSSL/misc/CA.pl -newreq Generating a 1024 bit RSA private key ...++++++ .++++++ writing new private key to 'newreq.pem' Enter PEM pass phrase: (パスフレーズ。CA用と異なるものを使う。) Verifying - Enter PEM pass phrase: (確認用でもう一回入力する) ----- 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) [JP]: (お住まいのところで問題なし) State or Province Name (full name) [Tokyo]: (お住まいのところで問題なし) Locality Name (eg, city) [xxxx]: (お住まいのところで問題なし) Organization Name (eg, company) [xxxx]: (ドメイン名などで問題なし) Organizational Unit Name (eg, section) [xxxx]: (CAと異なるものにした方が良いみたい) Common Name (eg, YOUR name) []: www.foo.bar.com (対象とするサーバのドメイン付きの完全な名前) Email Address [xxxx@foo.bar.com]: (有効なメールアドレスがよい。) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: (リターン) An optional company name []: (リターン) Request (and private key) is in newreq.pem この結果、newreq.pem というファイルに秘密鍵と証明書要求が作成される。 4. 証明書の作成 CAの立場となって、2で作成した証明書要求に応える。 まず、同じディレクトリ上に newreq.pem と demoCA があることを確認する。 # ls demoCA newreq.pem あることを確認したら、次のコマンドを実行して証明書を作成する。 # /System/Library/OpenSSL/misc/CA.pl -signreq すると、CA用のパスフレーズが要求されるので入力する。 Using configuration from /System/Library/OpenSSL/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem: 正しく入力されると証明を必要とする内容が表示される。 2回確認される場所があるが、問題なければ両方ともyでOK。 これで、newcert.pem という名前で証明書が作成される。 5. ファイルの準備 以下のようにして、ファイルを準備する。同じ名前のファイルが既にある場合は、 バックアップをしておくこと。 # cd /etc/httpd/ssl.crt # touch server.crt # touch ca.crt # cd /etc/httpd/ssl.key # touch server.key 6. ファイルの指定。 対象とするサイトのセキュリティにおいて、上記で作成した server.crt を証明書ファイルとして、 server.key をキーファイルとして、 ca.crt をCAファイルとして、 を順に選択し、下記のようにする。 ![]() 7. 証明書ファイルの編集 証明書ファイルの右の鉛筆を押して内容を編集する。 証明書ファイルに相当するのは、4で作成した newcert.pem であるのでこれをテキストエディタ 等で開き、下の方にある、「-----BEGIN CERTIFICATE-----」から「-----END CERTIFICATE-----」 までを(これらを含めて)コピーして貼付ける。 8. キーファイルの編集 キーファイルの右の鉛筆を押して内容を編集する。 キーファイルに相当するのは、3で作成した newreq.pem の一部であるので、これをテキスト エディタ等で開き、上の方ににある 「-----BEGIN RSA PRIVATE KEY-----」から「-----END RSA PRIVATE KEY-----」までを(これら を含めて)コピーして貼付ける。 9. CAファイルの編集 CAファイルの右の鉛筆を押して内容を編集する。 CAファイルに相当するのは、2で作成したdemoCAの下にあるcacert.pemである。これを テキストエディタ等で開き、「-----BEGIN CERTIFICATE-----」から「-----END CERTIFICATE-----」 までを(これらを含めて)コピーして貼付ける。 10. その他SSLのための設定 [一般タブ] ・ドメイン名:3でつけたドメイン付きの完全な名前 ・ポート:443 [オプション] ・パフォーマンスキャッシュ:チェックをはずす [セキュリティ] ・SSL(SecureSocket Layer)を使用する:チェック入れる。当たり前。 ・パスフレーズ:サーバ用のパスフレーズを入力する。 以上。
Comment(s)
|
Quick Links
Calendar
Categories
Recent Entries
Recent comments
related site/software
BlogPeople
チェック済み
Comments powered by
XML/RSS Feed
Archives
I love Mac!
Statistics
Total entries in this blog:
Total entries in this category: Published On: 2007.09.09 02:32
Powered by
iBlog |