2.5. プライベート CA を使用した OpenSSL での CSR の証明書の発行
システムが TLS 暗号化通信チャネルを確立できるようにするには、認証局 (CA) が有効な証明書をシステムに提供する必要があります。プライベート CA がある場合は、システムからの証明書署名要求 (CSR) に署名することにより、要求された証明書を作成できます。
前提条件
- プライベート CA が設定済みである。詳細は、「OpenSSL を使用したプライベート CA の作成」 を参照してください。
- CSR を含むファイルがある。CSR の作成例は、「OpenSSL を使用した TLS サーバー証明書の秘密鍵と CSR の作成」 にあります。
手順
オプション: 任意のテキストエディターを使用して、次の例のように、証明書に拡張機能を追加するための OpenSSL 設定ファイルを準備します。
$ vim <openssl.cnf> [server-cert] extendedKeyUsage = serverAuth [client-cert] extendedKeyUsage = clientAuth
x509
ユーティリティーを使用して、CSR に基づいて証明書を作成します。次に例を示します。$ openssl x509 -req -in <server-cert.csr> -CA <ca.crt> -CAkey <ca.key> -CAcreateserial -days 365 -extfile <openssl.cnf> -extensions <server-cert> -out <server-cert.crt> Signature ok subject=C = US, O = Example Organization, CN = server.example.com Getting CA Private Key
セキュリティーを強化するには、CSR から別の証明書を作成する前に、シリアル番号ファイルを削除してください。こうすることで、シリアル番号が常に無作為になるようにします。カスタムファイル名を指定する
CAserial
オプションを省略した場合、シリアル番号のファイル名は証明書のファイル名と同じですが、その拡張子は.srl
拡張子に置き換えられます (前の例ではserver-cert.srl
)。
関連情報
-
システムの
openssl(1)
、ca(1)
、およびx509(1)
の man ページ