openssl SSL証明書作成

〇 秘密鍵作成

【パスフレーズなし】
$ openssl genrsa 2048 > server.key

【パスフレーズあり】
$ openssl genrsa -des3 2048 > server.key

〇 CSR作成

【対話型/秘密鍵作成済み】
$ openssl req -new -key server.key -out server.csr -sha256

【対話型/秘密鍵作成(パスフレーズなし) + CSR 同時作成】
$ openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr -sha256

【ワンライナー/秘密鍵作成(パスフレーズなし) + CSR 同時作成】
$ openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out server.csr -subj "/C=JP/ST=Tokyo/L=Shinjuku-ku/O=ExampleCompany/CN=www.example.jp/"

〇 CSR確認

$ openssl req -in server.csr -text

〇 証明書発行

【openssl.cnf 諸設定済】

   -> 括弧[xxx]は、openssl.cnfに記述していれば不要。引数で渡した値が優先)
$ openssl ca -config openssl.cnf -in server.csr -out server.pem [-md sha256] [-days 365] [-extensions usr_cert]

〇 証明書確認

$ openssl x509 -in server.crt -text

〇 証明書失効

    -> xx(シリアル値)は、index.txtを確認
$ openssl ca -config openssl.cnf -revoke newcerts/xx.pem

〇 自己署名

$ openssl req -new -x509 -newkey rsa:2048 -nodes -keyout server.key -out server.pem -sha256