#SSL
#HTTP
#TSL
#証明書

自己サーバー証明書作成メモ

OpenSSLを使ってオレオレ証明書を作成するための備忘録

参考

食べる!SSL! ―HTTPS環境構築から始めるSSL入門

手順

OpenSSL を使ってサーバー証明書の作成する手順

  1. 秘密鍵の作成
  2. 秘密鍵を元に CSRの作成
  3. CSRを元に認証局にサーバー証明書を作成してもらう(オレオレの場合は自分で作成する)

秘密鍵の作成

暗号化方式をRSAで行い 秘密鍵 server.key を作成する

openssl genrsa 2048 > server.key
Generating RSA private key, 2048 bit long modulus
...........+++
........................................................+++
e is 65537 (0x10001)

秘密鍵の中身を見る場合

openssl rsa -text < server.key

秘密鍵を元に CSRの作成

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

いくつか質問をされるので答える

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) []:Chuoku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:hello.corp.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:sample.domain.co.jp
Email Address []:sample.xxxxx@gmail.com

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

CSRの中身を見る場合

openssl req -text < server.csr

CSRを元に認証局にサーバー証明書を作成してもらう(オレオレの場合は自分で作成する)

証明書の作成

openssl x509 -req -signkey server.key < server.csr > server.crt
Signature ok
subject=/C=JP/ST=Tokyo/L=Chuoku/O=hello.corp./CN=sample.domain.co.jp/emailAddress=sample.xxxxx@gmail.com
Getting Private key

証明書の中身を見る場合

openssl x509 -text < server.crt