インフラエンジニアbacchiのわかったことまとめ

bacchi.me

テスト環境で大活躍なオレオレ証明書を作ろう!

オレオレ証明書の作成手順

テスト環境とかで何かと使うことが多いオレオレ証明書。
手順を忘れがちなので、備忘録的にエントリーします。

秘密鍵を作成

暗号化方式は RSA で、鍵長 2048 バイトの秘密鍵を作ります。

# openssl genrsa -out keynp.key 2048
Generating RSA private key, 2048 bit long modulus
................+++
............................................................+++
e is 65537 (0x10001)

CSRを作成

私的な利用なので、10年有効なものにします。
この例ではハッシュアルゴリズムがSHA2のオレオレ証明書作ります。

# openssl req -new -sha256 -days 3650 -key keynp.key -out csr.pem
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) [XX]:JP
State or Province Name (full name) []:Kyoto
Locality Name (eg, city) [Default City]:Kyoto-shi
Organization Name (eg, company) [Default Company Ltd]:hoge inc.
Organizational Unit Name (eg, section) []:system div
Common Name (eg, your name or your server's hostname) []:bacchi.me
Email Address []:

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

この csr.pem が CSR(証明書署名要求)です。

途中の質問には適当に答えてもいいですが、
Common Name は運用するサーバが持っているホスト名を書いておかないと
警告が出てうっとうしいのでちゃんとやりましょう

オレオレ証明書を作成

# openssl x509 -in csr.pem -out cert.pem -req -signkey keynp.key -days 3650
Signature ok
subject=/C=JP/ST=Kyoto/L=Kyoto-shi/O=hoge inc./OU=system div/CN=bacchi.me
Getting Private key

これで、cert.pem ができました。
これがオレオレ証明書です。

  • B!