2.10. GnuTLS でプライベート CA を使用して CSR の証明書を発行する
システムが TLS 暗号化通信チャネルを確立できるようにするには、認証局 (CA) が有効な証明書をシステムに提供する必要があります。プライベート CA をお持ちの場合は、証明書署名要求 (CSR) に署名することで、要求された証明書を作成できます。
前提条件
- プライベート CA が設定済みである。詳細は、「GnuTLS を使用したプライベート CA の作成」 を参照してください。
- CSR を含むファイルがある。CSR の作成例については、「GnuTLS を使用した TLS サーバー証明書の秘密鍵と CSR の作成」 を参照してください。
手順
オプション: テキストエディターを使用して、証明書に拡張機能を追加するための GnuTLS 設定ファイルを準備します。以下に例を示します。
$ vi <server_extensions.cfg> honor_crq_extensions ocsp_uri = "http://ocsp.example.com"certtoolユーティリティーを使用して、CSR に基づいて証明書を作成します。次に例を示します。$ certtool --generate-certificate --load-request <example_server.crq> --load-ca-privkey <ca.key> --load-ca-certificate <ca.crt> --template <server_extensions.cfg> --outfile <example_server.crt>
検証
証明書の内容とフィールドを確認します。
$ certtool --certificate-info --infile <example_server.crt> X.509 Certificate Information: Version: 3 Serial Number (hex): 00 Issuer: CN=Example CA Validity: Not Before: Tue May 21 10:30:00 UTC 2026 Not After: Wed May 21 10:30:00 UTC 2027 Subject: CN=server.example.com ...証明書が正しい認証局によって署名されていることを確認します。
$ certtool --verify --load-ca-certificate <ca.crt> --infile <example_server.crt> Certificate[0]: CN=server.example.com Issued by: CN=Example CA Verification output: Verified.証明書の有効期限を確認します。
$ certtool --certificate-info --infile <example_server.crt> | grep -A2 Validity Validity: Not Before: Tue May 21 10:30:00 UTC 2026 Not After: Wed May 21 10:30:00 UTC 2027