SSL 証明書を作成する (自己署名)2023/04/24 |
SSL/TLS を用いた信頼性の高い暗号化通信を構築するために必要な証明書を作成します。 当例では自己署名の独自証明書を作成します。 ただし、自己署名の証明書はアクセス時に警告が出るため、一般的にはその先には進んでもらえないでしょう。 よって、自己署名の証明書は、開発やテスト目的での内部ネットワーク利用に限り、 不特定多数からアクセスされるネットワーク上で利用する場合は、正規の認証局が発行する証明書を利用した方がよいでしょう。 |
root@dlp:~#
vi /etc/ssl/openssl.cnf # 最終行に追記 # セクション名は任意 # DNS:(自身のホスト名) # DNS を複数指定する場合はカンマ区切り # ⇒ DNS:dlp.srv.world, DNS:www.srv.world [ srv.world ] subjectAltName = DNS:dlp.srv.world cd /etc/ssl/private root@dlp:/etc/ssl/private# openssl genrsa -aes128 2048 > server.key Enter PEM pass phrase: # パスフレーズ設定 Verifying - Enter PEM pass phrase: # 再入力 # 秘密鍵からパスフレーズを削除 root@dlp:/etc/ssl/private# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: # パスフレーズ入力
writing RSA key
root@dlp:/etc/ssl/private# openssl req -utf8 -new -key server.key -out server.csr 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) []:Hiroshima # 地域(県) Locality Name (eg, city) [Default City]:Hiroshima # 都市 Organization Name (eg, company) [Default Company Ltd]:GTS # 組織名 Organizational Unit Name (eg, section) []:Server World # 組織の部門名 Common Name (eg, your name or your server's hostname) []:dlp.srv.world # サーバーの FQDN Email Address []:root@srv.world # 管理者アドレス Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: # 有効期限が 10 年の自己署名証明書を作成 # -extensions (セクション名) ⇒ [openssl.cnf] に追記したセクション名 root@dlp:/etc/ssl/private# openssl x509 -in server.csr -out server.crt -req -signkey server.key -extfile /etc/ssl/openssl.cnf -extensions srv.world -days 3650 Certificate request self-signature ok subject=C = JP, ST = Hiroshima, L = Hiroshima, O = GTS, OU = Server World, CN = dlp.srv.world, emailAddress = root@srv.worldroot@dlp:/etc/ssl/private# chmod 600 server.key root@dlp:/etc/ssl/private# ll server.* -rw-r--r-- 1 root root 1424 Apr 24 05:20 server.crt -rw-r--r-- 1 root root 1062 Apr 24 05:20 server.csr -rw------- 1 root root 1704 Apr 24 05:19 server.key |
|