株式会社エスロジカル
株式会社エスロジカル
SSL証明書(DV、OV、EV)、セキュリティ、Web開発、Linux開発、Go言語

HOME > 技術ドキュメント > SSL証明書 CSR 作成・インストール手順(Apache / Nginx)

SSL証明書 CSR 作成・インストール手順(Apache / Nginx)


SSL証明書を CA(認証局)から取得するには、まずサーバーで秘密鍵と CSR(Certificate Signing Request)を作成し、 CA に提出して証明書の発行を受ける必要があります。 本記事では openssl コマンドによる CSR 生成から Apache / Nginx へのインストールまでを解説します。


手順 内容
1 サーバーで秘密鍵(.key)を生成する
2 秘密鍵をもとに CSR(.csr)を生成する
3 CSR を CA(または販売代理店)に提出する
4 ドメイン認証・組織認証を完了する
5 CA から証明書ファイルを受け取る
6 Apache / Nginx に証明書と秘密鍵を設定する

RSA 2048 bit または 4096 bit を使います。楕円曲線暗号(EC)を使う場合は ecparam を使います。

# RSA 2048 bit
openssl genrsa -out server.key 2048

# RSA 4096 bit(より強固)
openssl genrsa -out server.key 4096

秘密鍵は厳重に管理し、外部に渡さないでください。パーミッションは 600 に設定します。

chmod 600 server.key

openssl req -new -key server.key -out server.csr

実行すると各フィールドを対話形式で入力します。

フィールド 略称 説明・入力例
Country Name C 国コード 2文字(日本は JP
State or Province ST 都道府県(例: Tokyo
Locality Name L 市区町村(例: Chiyoda-ku
Organization Name O 組織名(OV/EV では登記名と一致させる)
Organizational Unit OU 部署名(省略可。CA によっては不要)
Common Name CN 証明書を発行するドメイン名(例: www.example.com
Email Address 省略可

Challenge password は空欄(Enter)で問題ありません。


openssl req -text -noout -in server.csr

CN やドメイン名が正しいか提出前に必ず確認します。


CA から受け取ったファイルを確認します。通常 server.crt(サーバー証明書)と中間証明書が届きます。

openssl x509 -text -noout -in server.crt | grep -E "Subject:|Not After"

中間証明書はサーバー証明書と連結して SSLCertificateFile に指定します(Apache 2.4.8 以降)。

cat server.crt intermediate.crt > fullchain.crt
<VirtualHost *:443>
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/fullchain.crt
    SSLCertificateKeyFile /etc/ssl/private/server.key
    SSLProtocol           all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite        HIGH:!aNULL:!MD5
</VirtualHost>
sudo apachectl configtest
sudo systemctl reload apache2

cat server.crt intermediate.crt > fullchain.pem
server {
    listen 443 ssl;
    server_name www.example.com;

    ssl_certificate     /etc/ssl/certs/fullchain.pem;
    ssl_certificate_key /etc/ssl/private/server.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
}
sudo nginx -t
sudo systemctl reload nginx

# HTTPS 接続確認
curl -I https://www.example.com

# 証明書の有効期限と CN を確認
openssl s_client -connect www.example.com:443 -servername www.example.com \
  </dev/null 2>/dev/null | openssl x509 -noout -subject -dates

CSR を作成したら、次は CA から証明書を発行してもらう必要があります。 エスロジカルはデジサート・サイバートラストの正規取扱代理店として、 CSR の提出から証明書の発行まで丁寧にサポートしています。 OV・EV 証明書の審査書類の準備もサポートします。
RapidSSL 3,960円/1年(税込)〜で SSL証明書を販売しています。審査サポート・インストール代行も対応しています。

SSL証明書の購入はこちら / SSL証明書とは? / インストール代行サービス


Apache インストール(Ubuntu 24.04 LTS) — Apache のインストールと SSL 有効化
Nginx SSL/TLS 設定(Ubuntu 24.04 LTS) — Nginx での HTTPS 設定
Let's Encrypt vs 有料 SSL証明書 — DV・OV・EV の違いと使い分け


← 技術ドキュメント一覧へ戻る