CSR を作成する
EST 経由で証明書を登録する前に、証明書署名申請(CSR)を作成する必要があります。この CSR を EST 登録申請に含めて送信します。
CSR は、DigiCert® Trust Lifecycle Manager の EST 対応プロファイルで設定されたさまざまな証明書フィールドの値を指定します。
ここでは、主要なコンピュータのあらゆるオペレーティングシステムで使用可能なオープンソースの暗号化ツールである OpenSSL を使用してこのプロセスを完了する方法について例を示します。
OpenSSL 設定ファイル
CSR 生成を容易にするために、Trust Lifecycle Manager の証明書プロファイルから証明書フィールドの値を含む OpenSSL 設定ファイルを作成します。
たとえば、次の OpenSSL 設定ファイルを使用すると、req_distinguished_name と req_ext の各セクションでそれぞれ定義された、さまざまなサブジェクト DN と SAN の値を含む証明書の CSR を作成できます。
SAN_FIELDS = IP:10.0.0.10, URI:http://www.digicert.com/, RID:1.2.3.4, DNS:first.digicert.com , DNS:second.digicert.com , email:noreply@digicert.com , email:noreply@mailinator.com [ req ] prompt = no distinguished_name = req_distinguished_name req_extensions = req_ext [ req_distinguished_name ] CN = device-seat-01 1.OU = Test OU 1 2.OU = Test OU 2 O = Test Org L = Test Locality ST = Test State C = US postalCode = 02860 serialNumber = sn0001 unstructuredName = Test Unstructured Name unstructuredAddress = Test Unstructured Address description = Test Description [ req_ext ] subjectAltName = $SAN_FIELDS
秘密鍵を生成する
CSR を作成する前に、証明書の秘密鍵を生成する必要があります。
RSA
たとえば、2048 ビット秘密鍵を含む RSA を使用して、それを device.pem.key というファイルに保存するには、次のコマンドを実行します。
openssl genrsa -out device.pem.key 2048
ECDSA
ECDSA を使用するには、まず次のコマンドを実行して使用可能な楕円曲線の名前を一覧表示します。
openssl ecparam -list_curves
一覧から楕円曲線を選択して次のコマンドを実行して秘密鍵を生成し、device.pem.key というファイルに保存します(secp521r1 は使用する楕円曲線の名前に置き換えます)。
openssl ecparam -name secp521r1 -genkey -noout -out device.pem.key
CSR を作成する
OpenSSL 設定ファイルと秘密鍵に基づいて CSR を作成します。
たとえば、device.pem.csr というファイルに CSR を作成して保存するには、次のコマンドを実行します。
openssl req -new -nodes -sha256 -key device.pem.key -out device.pem.csr -config openssl.cfg
この例の実行結果は次のとおりです。
秘密鍵はパスフレーズ(
nodesまたは「no DES」)で暗号化されません。CSR は SHA-256 ハッシュアルゴリズム(
sha256)で署名されます。秘密鍵は
device.pem.keyというファイルに保存されます。CSR は
openssl.cfgという OpenSSL 設定ファイルの値を使用して作成されます。
次の手順
CSR が作成されると、これを使用して EST 経由で証明書の申請が可能です。詳細については、「cURL を使用した登録」と「Postman を使用した登録」を参照してください。