内容へ移動
ClownWiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
centos:ssl_self_certificate
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== SSL自己証明書 ====== ===== 自己証明書を作成する ===== ==== 秘密鍵 ==== 発行される証明書と対になるファイル。 e.g. パスフレーズ無し、鍵長2,048bitの秘密鍵「server.key」を作成する <code> [root@adm01 ~]# openssl genrsa -out server.key 2048 Generating RSA private key, 2048 bit long modulus ........................+++ ...+++ e is 65537 (0x10001) [root@adm01 ~]# ll -rw-r--r--. 1 root root 1675 11月 4 18:05 2014 server.key [root@adm01 ~]# cat server.key -----BEGIN RSA PRIVATE KEY----- ~省略~ -----END RSA PRIVATE KEY----- </code> ==== CSR ==== 証明書の申請時に提出するファイル。 e.g. 作成した秘密鍵「server.key」で、CSR「server.csr」を作成する <code> [root@adm01 ~]# openssl req -new -key server.key -out aserver.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) []:Osaka Locality Name (eg, city) [Default City]:Osaka-shi,Cyuoh-ku Organization Name (eg, company) [Default Company Ltd]:Clown Inc. Organizational Unit Name (eg, section) []:Clown Section Common Name (eg, your name or your server's hostname) []:clown.com Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: [root@adm01 ~]# ll -rw-r--r--. 1 root root 1029 11月 4 18:08 2014 server.csr -rw-r--r--. 1 root root 1675 11月 4 18:05 2014 server.key [root@adm01 ~]# cat server.csr -----BEGIN CERTIFICATE REQUEST----- ~省略~ -----END CERTIFICATE REQUEST----- </code> ==== 証明書(公開鍵) ==== いわゆる、SSL証明書。 e.g. 有効期限10年で、秘密鍵「server.key」とCSR「server.csr」を使用して証明書「server.crt」を作成する <code> [root@adm01 ~]# openssl x509 -days 3650 -req -signkey server.key -in server.csr -out server.crt Signature ok subject=/C=JP/ST=Osaka/L=Osaka-shi,Cyuoh-ku/O=Clown Inc./OU=Clown Section/CN=clown.com Getting Private key [root@adm01 ~]# ll -rw-r--r--. 1 root root 1257 11月 4 18:09 2014 server.crt -rw-r--r--. 1 root root 1029 11月 4 18:08 2014 server.csr -rw-r--r--. 1 root root 1675 11月 4 18:05 2014 server.key [root@adm01 ~]# cat server.crt -----BEGIN CERTIFICATE----- ~省略~ -----END CERTIFICATE----- </code> ===== 秘密鍵と証明書を一発で作成する ===== ※CSRは作成されない。 <code> openssl req -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -new -x509 -sha256 -days 365 -out /etc/nginx/ssl/nginx.crt </code> * req\\ CSR作成 * -nodes\\ 秘密鍵を暗号化しない * -newkey rsa:2048\\ 秘密鍵を作成する * -keyout filename\\ 秘密鍵 * -new\\ 証明書要求ファイルを作成する * -x509\\ X.509形式の証明書を作成する * -sha256\\ SHA-2(256)で作成 * -days n\\ 証明書の有効期限をn日とする * -out filename\\ 証明書 ===== Apacheで利用する ===== 適当な場所にデジタル証明書、秘密鍵を設置 <code> [root@adm01 ~]# mkdir /etc/httpd/conf/ssl.crt/ [root@adm01 ~]# mv server.crt /etc/httpd/conf/ssl.crt/ [root@adm01 ~]# mkdir /etc/httpd/conf/ssl.key/ [root@adm01 ~]# mv server.key /etc/httpd/conf/ssl.key/ [root@adm01 ~]# rm -rf server.csr [root@adm01 ~]# chmod 700 /etc/httpd/conf/ssl.key [root@adm01 ~]# chmod 400 /etc/httpd/conf/ssl.key/server.key </code> ssl.confを編集する <code> [root@adm01 ~]# vi /etc/httpd/conf.d/ssl.conf #SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt #SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key </code> 設定反映 <code> [root@adm01 ~]# /etc/init.d/httpd configtest Syntax OK [root@adm01 ~]# /etc/init.d/httpd reload httpd を再読み込み中: </code> ===== Nginxで利用する ===== 適当な場所にデジタル証明書、秘密鍵を設置 <code> [root@adm01 ~]# mkdir /etc/nginx/conf.d/ssl.crt/ [root@adm01 ~]# mv server.crt /etc/nginx/conf.d/ssl.crt/ [root@adm01 ~]# mkdir /etc/nginx/conf.d/ssl.key/ [root@adm01 ~]# mv server.key /etc/nginx/conf.d/ssl.key/ [root@adm01 ~]# rm -rf server.csr [root@adm01 ~]# chmod 700 /etc/nginx/conf.d/ssl.key [root@adm01 ~]# chmod 400 /etc/nginx/conf.d/ssl.key/server.key </code> nginx の SSL設定ファイルを設定 <code> # mv /etc/nginx/conf.d/example_ssl.conf /etc/nginx/conf.d/ssl.conf # vi /etc/nginx/conf.d/ssl.conf </code> 5行目付近「sever {」以下のコメントをすべてはずす。 10~11行目付近、鍵のパスを修正 <code> # HTTPS server # server { listen 443 ssl; server_name localhost; # ssl_certificate /etc/nginx/cert.pem; # ssl_certificate_key /etc/nginx/cert.key; ssl_certificate /etc/nginx/conf.d/ssl.crt/server.crt; ssl_certificate_key /etc/nginx/conf.d/ssl.key/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root /usr/share/nginx/html; index index.html index.htm; } } </code> SSL 有効化(nginx 再起動) <code> # /etc/init.d/nginx restart </code>
centos/ssl_self_certificate.txt
· 最終更新: 2025/02/16 13:53 by
127.0.0.1
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ