2017/10/07

ca更新

自鯖で使っている証明書の期限が切れたので再更新

めも

というかCA.plってテストされてないようで、僕でもわかるバグが・・・

・なぜかopensslのコンフィグを読み込んでくれない
→環境変数が「OPENSSL_CONF」になってた。
CA.plで読んでるのは「OPENSSL_CONFIG」
どうしてこんな簡単なところが通ってないのか・・・
いや、そもそもwindows上でopensslを使うような人がレアなのか・・・

・.cnfにCATOPが定義されていない、というかplで読み込むようになっていない?($REQが入っていないように見える)
・ってかコンフィグを見込むのに必要な-configが付いてない・・・
→($OPENSSL_CONFIG) and $OPENSSL_CONFIG='-config '.$OPENSSL_CONFIG;
を追加

・sansが指定されていない、という文句をchromeが言うので、ネットの言うとおりにsansを設定しようとしてもうまくいかない
→default_caから折ってくと、x509_extensionsはusr_certセクションを参照していて、reqセクションじゃない
からusr_certに追加すればよい
subjectAltName = @alt_names

[alt_names]
DNS.1 = www.example.com
DNS.2 = hogehoge.example.net
DNS.3 = humuhumu.example.jp

等いろいろありましたが、とりあえず更新。
どうせだから*.domainで証明書作っとけばよかったかも。


オレオレCAを更新したのでサブドメインの証明書も更新したのですが、その際にssllabsというところでhttpsのチェックをしてくれているとの情報を得たので試してみました。

当然、オレオレ証明書なのでtrustedにはなりませんが、それがなければAとの評価。
最初はA-だったのですが、設定に
SSLHonorCipherOrder on
を追加したらAに。
Header add Strict-Transport-Security "max-age=157680000;includeSubDomains;"
も追加しようとしたらmodsがないと言われたので、apacheにmod_headersを読み込ませてから追加したのですが、A+にはならず。
まぁ、そんなもんでしょう。

で、最近はドメイン証明書を無料で出してくれるところがあるらしい。
Let's Encryptとか。
仕組みがdnsのレコードを利用しているみたいで、面白い発行方法ですね。

ただし、僕の今の使い方はユーザー認証を必須としているため、ドメイン証明書をもらっても仕方がありません。
・・・apacheとかはサーバの証明書とユーザー認証のCA(SSLCACertificate)が違っても大丈夫なのかな?
違ってもいいならドメイン証明書をもらってもよいかな、と思いますが。

0 件のコメント:

コメントを投稿