ワイルドカード自己証明書の作成

投稿者: | 2014/09/05

概要

wordpressの管理画面にログインする際など、
SSL通信(https)で暗号化したいと思う時がある。

ただ、これにはSSL証明書が必要で、
グローバルサインやベルサインが有名どころだが、
発行にはお金がかかってしまう。

そこで無料で作成できるワイルドカード自己証明書の作成手順を残す。
※ワイルドカード自己証明書にすることでサブドメインでも新たに自己証明書を作成する必要がなくなる

そもそもSSLサーバ証明書とは?

ウェブサイトの所有者の情報、送信情報の暗号化に必要な鍵、発行者の署名データを持った電子証明書のこと。 SSLサーバ証明書には主に下記二つの役割がある。
1. 証明書に表示されたドメイン(サーバ)の所有者であることの証明
2. ブラウザとウェブサーバ間でのSSL暗号化通信の実現

これによりサイトの訪問者は『情報の送信先』や『送信する情報が暗号化されること』を確認することができ安心して情報を送ることができる。

ワイルドカード自己証明書作成手順

  • CSRでワイルドカードを指定する
  • この手順で有効なサブドメインはwww.example.comやmail.example.comで、ドットが入ったwww.test.example.comなんかには対応していない
  1. 秘密鍵(Private Key)の作成
$ openssl genrsa -out server.key 1024
実行例
Generating RSA private key, 1024 bit long modulus
......++++++
......................................................++++++
e is 65537 (0x10001)

 
2. 証明書署名要求(CSR; Certificate Signing Request)の作成

$ openssl req -new -key server.key -out server.pem -sha1
実行例
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)[AU]: 【JP:国名】
State or Province Name (full name)[Some-State]:【Tokyo:都道府県名】
Locality Name (eg, city)[]:【Chofu-shi:市区町村】
Organization Name(eg, company)[Internet Widgits Pty Ltd]:【bnote:組織名(法人名)】
Organization Unit Name (eg, section)[]:【System:部署名】
Common Name (eg, your name or your server's hostname)[]:*.example.com【サーバのホスト名(FQDN)だが、今回はワイルドカードにする】
Email Address []:【master@sample.jp:メールアドレス】

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:【適当なパスフレーズ】
An optional company name []:【パスフレーズの確認】

 
3. サーバ証明書の作成

今回は「-days 365」としているので、有効期限は1年間。
10年にしたかったら「-days 3650」としてやればOK。

$ openssl x509 -in server.pem -out server.crt -req -signkey server.key -days 365 -sha1
実行例
Signature ok
subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd
Getting Private key

作成完了!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です