無料証明書 Let's Encrpty

詳しくは lets-encrypt.md

aws amazon linuxで

http://tkuchiki.hatenablog.com/entry/2016/05/16/195420

クライアント証明書を要求するサイトの構築

1. http://qiita.com/tukiyo/items/b5e8b3efce800b0fd269

2. http://qiita.com/tukiyo/items/9633b8b5f63e887f55b1

自己証明

http://d.hatena.ne.jp/ozuma/20130511/1368284304 http://www.maruko2.com/mw/Apache/SSL%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8mod_ssl%E3%81%AE%E8%A8%AD%E5%AE%9A

1. 秘密鍵の作成

xxx.key

openssl genrsa -des3 -out server.key 2048

  • genrsa : RSA形式の秘密鍵を作成する
  • -aes128 : 128ビットの AES 方法で暗号化する。
  • 1024 : 1024バイトの鍵を作成する。

2. 公開鍵の作成

xxx.csr

CSR(Certificate Signing Request)とは、SSL 証明書を作成する元になる情報が書かれている

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

Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Osaka-shi,Chuo-ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Your Inc.
Organizational Unit Name (eg, section) []:Your Section
Common Name (eg, YOUR name) []:your.com
Email Address []:空白

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:省略
An optional company name []:省略

3. デジタル証明書の作成

xxx.crt

もともとはCertification Authority(認証局)が発行するのも、 自分用でなく商用なら、Verisign, globalsignなどで発行してもらう。

openssl x509 -in server.csr -days 3650 -req -signkey server.key > server.crt

パスワードが必要だが、自己証明用は

verisign

https://www.verisign.co.jp/ssl/help/csr/capache_new.html

cd /usr/local/ssl/bin
./openssl md5 * > rand.dat
./openssl genrsa -rand (擬似乱数ファイル名) -des3 (キー長) > (秘密鍵ファイル名)

globalsign

http://jp.globalsign.com/support/csr/04.html

cross root証明書を利用する場合

cross root証明書について

ガラケーは 1024bitスマホは 2048bitのルート証明書を使っている 1024bitだけサポートしている携帯ではwebで閲覧できなかったら証明書の警告がでたりする。

これを解決するためにクロスルート証明書が作られた。

クロスルートとは、あるルート証明書から発行されたサーバ証明書を別のルート証明書が設定されている端末でも利用できるようにする仕組みである。ある証明書(証明書Aとする)があるルートCA(ルートCA-Xとする)配下のCAから発行されている場合、端末にルートCA-Xのルート証明書が必要である。

2048bit移行後も、1024bit端末でSSLが使えるようになるが、1024bitの脆弱性を抱えたままになる

設定

wildcard.crt # 証明書(SSLサーバ証明書)

# これはメール書いているものでなく、メールのリンクからダウンロードする
# なぜなら、携帯とスマホの対応のため
cross_root.crt # クロスルート証明書
cat wildcard.crt cross_root.crt > concat_wildcard.crt

クロスルート証明書の中身

メールの本部に書いてある「中間証明書」がこの内容だったら

-----BEGIN CERTIFICATE-----
ここが中間証明書の中身
-----END CERTIFICATE-----

クロスルート証明書のは結局はこの形

-----BEGIN CERTIFICATE-----
ここが中間証明書の中身
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
ここはルート証明書の中身
-----END CERTIFICATE-----

のような形で上の部分の「中間証明書」の部分は同じテキストである。 ユーザの端末によって必要なルート証明書にたどり着く仕組み。

なので最後のnginxに設定する証明書は

-----BEGIN CERTIFICATE-----
ここは発行された証明書
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
ここが中間証明書の中身
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
ここはルート証明書の中身
-----END CERTIFICATE-----

このような形になる

results matching ""

    No results matching ""