自己署名証明書の発行
WEBサーバーの通信を暗号化(SSL化)の試験をするために自己署名証明書を発行してSSL化を行ったので備忘録を残しておく。
環境
OS:CentOS8.1
自己署名証明書の発行手順
CentOS8以降には自己署名証明書を簡単に作成できる仕組みが用意されている。こちらの機能を利用して証明書の発行を行う
下記のコマンドでファイルを移動
下記のコマンドで証明書を作成
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」コマンド でエラーが出てないか確認