CentOS-7.6 で、SSL/TLSのサーバー証明書を作成します。
CentOSのバージョン7以上ならば、同じような設定で可能だと思います。
ここで、作成するSSL/TLSのサーバー証明書は、自己署名証明書と秘密鍵です。
認証機関が発行する証明書ではありません。
動作確認用に利用する目的で、自己の証明書を作成しておきます。
Makefileを編集する
SSL/TLS証明書を作成する為の Makefile を編集します。/etc/pki/tls/certs/Makefile 編集
#----- Makefile ファイルをバックアップ
[root@vm ~]# cp -a /etc/pki/tls/certs/Makefile /etc/pki/tls/certs/Makefile.org
[root@vm ~]#
#----- ファイルを編集する
[root@vm ~]# vi /etc/pki/tls/certs/Makefile
--------------------------------------------------
#----- ★有効期限を100年に設定する
DAYS=365
↓ 変更する (365 から 36500 にする)
DAYS=36500
--------------------------------------------------
#----- 編集内容を保存してエディタを閉じる
:wq
[root@vm ~]#
自己署名証明書・秘密鍵を作成する
自己署名証明書・秘密鍵を作成します。作成には、任意のパスワードが必要になります。
外部公開しないサーバーなら忘れないような簡単なパスワードで良いと思います。
自己署名証明書・秘密鍵を作成
#----- サーバー用 自己署名証明書・秘密鍵を作成する
[root@vm ~]# make /etc/pki/tls/certs/server.crt
umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > /etc/pki/tls/certs/server.key
Generating RSA private key, 2048 bit long modulus
........+++
.............................................+++
e is 65537 (0x10001)
Enter pass phrase: ←★ 任意のパスワードを入力して [Enter] (後で必要になるので忘れないように )
Verifying - Enter pass phrase: ←★ 確認用のパスワードを再入力して [Enter]
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key /etc/pki/tls/certs/server.key -x509 -days 36500 -out /etc/pki/tls/certs/server.crt
Enter pass phrase for /etc/pki/tls/certs/server.key: ←★ 上で設定したパスワードを入力して [Enter]
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 ←★ 国名を入力して [Enter]
State or Province Name (full name) []:Osaka ←★ 都道府県名を入力して [Enter]
Locality Name (eg, city) [Default City]:Osaka ←★ 市区町村名を入力して [Enter]
Organization Name (eg, company) [Default Company Ltd]:VM ←★ 組織名を入力して [Enter]
Organizational Unit Name (eg, section) []: ←★ 部門名(空で良い)を入力して [Enter]
Common Name (eg, your name or your server's hostname) []:vm.lan ←★ ホスト名を入力して [Enter]
Email Address []:hostmaster@vm.lan ←★ 管理者のメールアドレスを入力して [Enter]
[root@vm ~]#
2つのファイルが作成されます。
- /etc/pki/tls/certs/sserver.crt
- /etc/pki/tls/certs/server.key
サーバー用秘密鍵からパスワードを削除する
サーバー用の秘密鍵からパスワードを削除する理由は、Apacheを起動した時に毎回パスワードの入力を求めらるからです。もっと違う方法があるのかもしれませんが、とりあえずこの方法で回避させています。
秘密鍵からパスワード削除
[root@vm ~]# openssl rsa -in /etc/pki/tls/certs/server.key -out /etc/pki/tls/certs/server.key
Enter pass phrase for server.key: ←★ 上記の "秘密鍵 作成" で、設定したパスワードを入力して [Enter]
writing RSA key
[root@vm ~]#
秘密鍵の配置場所を移動する
そのままでもいいんですが、秘密鍵は別の場所に移動させておきます。秘密鍵を移動
[root@vm ~]# mv /etc/pki/tls/certs/server.key /etc/pki/tls/private/
[root@vm ~]#
PEMファイルを作成する
pemファイルは、鍵になることも証明書になること、両方になることもできるファイルです。PEMファイル作成
#----- 2つの証明書ファイルを結合して書き込む
[root@vm ~]# cat /etc/pki/tls/certs/server.crt /etc/pki/tls/private/server.key > /etc/pki/tls/certs/server.pem
[root@vm ~]#
#----- パーミッションを変更する
[root@vm ~]# chmod 0600 /etc/pki/tls/certs/server.pem
[root@vm ~]#
以上で、SSL/TLS証明書 の作成が終了です。
続けて、時刻同期など時刻関連の設定は下記ページをご覧ください。
CentOS-7/Chrony(時刻同期とntpdateで時刻手動同期)
[CentOS-7.6]
0 件のコメント:
コメントを投稿