独り言ch

このブログでは、個人的な体験談や意見などを好き勝手書くサイト。

【Linux:備忘録】nginxで自己署名証明書の発行

自己署名証明書の発行

WEBサーバーの通信を暗号化(SSL化)の試験をするために自己署名証明書を発行してSSL化を行ったので備忘録を残しておく。

環境
OS:CentOS8.1

自己署名証明書の発行手順

CentOS8以降には自己署名証明書を簡単に作成できる仕組みが用意されている。こちらの機能を利用して証明書の発行を行う

下記のコマンドでファイルを移動

cp /usr/share/doc/openssl/Makefile.certificate  /etc/pki/tls/certs/Makefile

下記のコマンドで証明書を作成

cd /etc/pki/tls/certs

make **********(任意).crt  ←サフィックスには「crt」

※下記のようなメッセージが表示されるのでパス以外は任意で回答

umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > example.key
Generating RSA private key, 2048 bit long modulus (2 primes)
.......+++++
.................+++++
e is 65537 (0x010001)
Enter pass phrase:
Verifying - Enter pass phrase:
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key example.key -x509 -days 365 -out example.crt 
Enter pass phrase for example.key:
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]:
State or Province Name (full name) :
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section)
:
Common Name (eg, your name or your server's hostname) []:

パスフレーズの削除

mv example.key example.key.org

openssl rsa -in example.key.org -out example.key

Enter pass phrase for example.key.org:*****

writting RSA key

コンフィグファイルの編集

vi /etc/nginx/nginx.conf

server{

       #下記3行追記

        listen  443 ssl;
        ssl_certificate         /etc/pki/tls/certs/example.crt;
        ssl_certificate_key     /etc/pki/tls/certs/example.key;

}

再起動後、設定を反映

~] reboot

~] systemctl restart nginx

※うまくいかない場合は,「systemctl status nginx」コマンド でエラーが出てないか確認