SSL証明書を簡単に作成し、Mac OS XのApache2で設定する方法は?


34

ローカル開発テスト用にhttpsを使用してMac OS Xを使用したいと思います。どうすれば簡単にテスト提案のためにApache2をsslに応答させることができますか-私は本当の証明書が欲しいのではなく、ローカルのhttpsを機能させるための偽物です

回答:


58

ローカル開発テストでは、自己署名証明書が適切です。OpenSSLキットで次のように生成できます:

秘密鍵の生成:

openssl genrsa -des3 -out server.key 1024

出力:

RSA秘密鍵の生成、1024ビット長のモジュラス
.................................................. ....... ++++++
........ ++++++
eは65537(0x10001)です
PEMパスフレーズを入力します。
パスワードの確認-PEMパスフレーズを入力します。

秘密鍵のパスフレーズを入力します。

CSR(証明書署名要求)の生成:

openssl req -new -key server.key -out server.csr

次のような詳細が要求されます。

国名(2文字のコード)[GB]:
州または県の名前(フルネーム)[バークシャー]:
地域名(例:都市)[ニューベリー]:
組織名(会社など)[My Company Ltd]:
組織単位名(例、セクション)[]:
共通名(たとえば、名前またはサーバーのホスト名)[]:
電子メールアドレス []:
次の「追加」属性を入力してください
証明書リクエストとともに送信されます
チャレンジパスワード[]:
オプションの会社名[]:

それはかなり簡単で、一般名は括弧で示されているようにサーバーのホスト名です。

自己署名証明書の生成:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Apacheのhttpd.confでSSLを構成する:

SSLEngineオン
SSLCertificateFile /path/to/generated/server.crt
SSLCertificateKeyFile /path/to/generated/server.key

(パスを証明書とキーへのパスに適切に置き換えてください)

Apacheを再起動します。

apachectl restart

Apacheは、キーのパスフレーズを尋ねてきます。サーバーを頻繁にシャットダウンすると思われる場合は、パスフレーズをキーから削除して、毎回入力しないようにすることができます。そうでなくても、心配する必要はありません。その場合、ステップ2(CSRの生成)の後にこのステップを完了します。

cp server.key server.key.copy
openssl rsa -in server.key.copy -out server.key

それは私にとってほとんど心配です。httpを使用してRailsのページにアクセスしようとすると、そのページは存在しますが、httpsを使用すると、見つからないページが返されます。何ができるか知っていますか?
ダニエルクキーアー

ポート443でhttpsを使用するように仮想ホストを変更しましたか?<VirtualHostの192.168.1.100:443> SSLEngineのでは、など... </ VirtualHost>の:それは次のようになります
ジョン・T

これをありがとう、私はこれでLionでうまく機能するSSL証明書を取得しました。あなたの人生を楽にするはずですが、私はいくつかのポイントを追加すると思いました。AppleのApacheには/ private / etc / apache2を探すように設定されているhttpd-ssl.confがあります。したがって、server。*ファイルをそこに置くと、編集するファイルが1つ少なくなります。また、httpd-ssl.confを含む行はデフォルトでコメント化されているため、httpd.confを編集する必要があります。最後に、365日は、あなたが長い有効期限を設定することができますかあなたは(私は3650を使用)来年再びそれをやっているだろう、少し短いです
GordonM

私のような誰かが問題を抱えているなら、このリンクを見つけて喜んでいるでしょう。これは、virtualhostxでvirtualhostを正しく設定し、sslyellowrobot.heroku.com/blog/2012/01/22/…で
再挑戦

あなたの開発マシンなら、おそらくパスワードのない秘密鍵を持ちたいでしょう:openssl rsa -in server.key -out server.nopass.key
Aldekein
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.