2016年08月21日

macのローカル環境でオレオレ証明書でhttpsでアクセスできるようにした

blogramランキング参加中!

Webエンジニアが知っておきたいインフラの基本



神様仏様apple様が
https対応しろとのことで調べ始めたマスタカ
やり方全然わからんので、
まずはローカル環境でオレオレ証明書を作って
https対応してみることにした

以下、りんご

・オレオレ証明書の作成方法
2048bitの鍵作成
openssl genrsa 2048 > server.keya

証明書を認証局に渡すやつ(証明書署名要求)
https://www.openssl.org/docs/manmaster/apps/req.html
-new new certificate request
-key private key
openssl req -new -key server.key > server.csr

デジタル証明書。
さっき作った秘密鍵でやったけど
本来は認証局のやつでやる
-in certificate
-signkey private key
-req Without the -req option the input is a certificate which must be self signed.
https://www.openssl.org/docs/manmaster/apps/x509.html
openssl x509 -in server.csr -req -signkey server.key > server.crt


・全体像
httpsのやりとり全体像は
このブログの図がわかりやすい
http://d.hatena.ne.jp/ozuma/20130511/1368284304


・apache conf
上までやったらapache confに以下記載
SSLEngine on
SSLProtocol all -SSLv2
SSLCertificateFile "/usr/local/etc/_ssl_keys/server.crt"
SSLCertificateKeyFile "/usr/local/etc/_ssl_keys/server.key"


・apach confでエラー
apachectrl configtestすると以下のエラー
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
以下のファイルから
/private/etc/apache2/httpd.conf
以下のコメントアウトを外す
LoadModule ssl_module libexec/apache2/mod_ssl.so


・証明書の認証
オレオレ証明書を認証する方法
キーチェーンに入れて
常に証明を選択すればよい
http://geek.3101.me/memo/fix-my-certificate-authority-error-for-mac/


・virtualhostでエラー
実行するとブラウザで以下のエラー
SSL received a record that exceeded the maximum permissible length
問題の内容は以下。
virtualhostを書く順番を変えたらうまくうごきました。

ネームベースのバーチャルホスト使うと
ホスト名も暗号化されてるとのこと
http://d.hatena.ne.jp/calpo/20110920/p1


・残ったこと
ネームベースのバーチャルホスト+SSL
は次の機会に。
続く
タグ:Apache ssl
posted by マスタカ at 09:06 | Comment(0) | TrackBack(0) | プログラミング | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。