CSRに署名する

OCI Dedicated Key ManagementでのHSMクラスタの初期化の一環として、証明書署名リクエスト(CSR)に署名する方法について学習します。

署名するには、まず自己署名署名証明書を作成し、それを証明書署名リクエスト(CSR)の署名に使用する必要があります。署名するには、次の手順を実行します。
  1. HSMクラスタ・リソースのRSAキー・ペアを生成します。この鍵はパーティション所有者(PO)鍵と呼ばれます。キーとパスフレーズを、KMS Vaultなどのセキュアで安全な場所に格納してください。このキーを使用して、前のステップでダウンロードしたパーティションCSRに署名できます。
    $ openssl genrsa -aes256 -out customerPO.key 
    Generating RSA private key, 2048 bit long modulus
    ........+++
    ....+++
    e is 65537 (0x10001)
    Enter pass phrase for customerPO.key:
    Verifying - Enter pass phrase for customerPO.key:
    
  2. パーティション所有者キー(customerPO.key)を使用して、パーティション所有者証明書(partitionOwnerCert.pem)を生成します。次のコマンドは、10年間だけ有効な証明書を生成します。必要に応じて有効期限を変更できますが、有効期限は少なくとも5年である必要があります。パーティション所有者の証明書は、専用のKMSユーザーと共有する必要があります。
    $ openssl req -new -x509 -days 3650 -key customerPO.key -out partitionOwnerCert.pem
    Enter pass phrase for customerPO.key:
    -----
    Country Name (2 letter code) []:US
    State or Province Name (full name) []:CA
    Locality Name (eg, city) []:SJ
    Organization Name (eg, company) []:Oracle
    Organizational Unit Name (eg, section) []:Sec
    Common Name (eg, fully qualified host name) []:kms
    Email Address []:
    
  3. パーティション所有者キー(customerPO.key)およびpartitionOwnerCert.pem(前のステップで作成)を使用してCSR (partitionCsr .CSR)に署名し、partitionCert.pemを生成します。
    $ openssl x509 -req -days 3650 -in partitionCsr.csr -CA partitionOwnerCert.pem -CAkey customerPO.key -CAcreateserial -out partitionCert.pem
    Signature ok
    subject=/C=US/ST=CA/L=Default City/O=Default Company Ltd/CN=user1
    Getting CA Private Key
    Enter pass phrase for customerPO.key:
    $ ls
    customerPO.key  partitionCert.pem  partitionOwnerCert.pem  partitionOwner.srl
    
    
  4. 次のコマンドを使用して、partitionCert.pemおよびpartitionOwnerCert.pemをベース64にエンコードします。(このステップは CLIでのみ必要です)。
  5. partitionCert.pemおよびpartitionOwnerCert.pem証明書をHSMクラスタにアップロードします。
    openssl base64 -A -in partitionCert.pem
    openssl base64 -A -in partitionOwnerCert.pem