SSL 使用 的新憑證和私有金鑰重新設定 AWS CloudHSM (選用) - AWS CloudHSM

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SSL 使用 的新憑證和私有金鑰重新設定 AWS CloudHSM (選用)

AWS CloudHSM 使用SSL憑證建立與硬體安全模組的連線 (HSM)。安裝用戶端時,會包含預設金鑰和SSL憑證。不過,您可以建立和使用自己的金鑰和 SSL 憑證。請注意,您將需要在初始化叢集時所建立的自簽憑證 (customerCA.crt)。

在高層級,這個步驟分為兩個步驟:

  1. 建立私有金鑰,然後使用該金鑰來建立憑證簽署請求 (CSR)。使用發出憑證,即您在初始化叢集時建立的憑證,來簽署 CSR。

  2. 使用設定工具將金鑰和憑證複製到適當的目錄。

步驟 1. 建立金鑰、 CSR,然後簽署 CSR

用戶端 3 SDK 或用戶端 5 SDK 的步驟相同。

SSL 使用新憑證和私有金鑰重新設定
  1. 使用下列 OpenSSL 命令建立私有金鑰:

    openssl genrsa -out ssl-client.key 2048 Generating RSA private key, 2048 bit long modulus ........+++ ............+++ e is 65537 (0x10001)
  2. 使用下列 OpenSSL 命令來建立憑證簽署請求 (CSR)。將會詢問一連串有關憑證的問題。

    openssl req -new -sha256 -key ssl-client.key -out ssl-client.csr Enter pass phrase for ssl-client.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]: State or Province Name (full name) []: Locality Name (eg, city) [Default City]: Organization Name (eg, company) [Default Company Ltd]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
  3. CSR 使用您在初始化叢集時建立的customerCA.crt憑證簽署 。

    openssl x509 -req -days 3652 -in ssl-client.csr \ -CA customerCA.crt \ -CAkey customerCA.key \ -CAcreateserial \ -out ssl-client.crt Signature ok subject=/C=US/ST=WA/L=Seattle/O=Example Company/OU=sales Getting CA Private Key

步驟 2. 啟用 SSL 的自訂 AWS CloudHSM

用戶端 3 SDK 或用戶端 5 SDK 的步驟不同。如需使用設定命令列工具的詳細資訊,請參閱 AWS CloudHSM 設定工具

用戶端 3 SDK SSL的自訂

使用 Client 3 SDK 的設定工具來啟用自訂 SSL。如需針對用戶端 3 SDK 設定工具的詳細資訊,請參閱 AWS CloudHSM Client SDK 3 設定工具

使用自訂憑證和金鑰與 Linux 上的 Client SDK 3 進行TLS用戶端伺服器相互身分驗證
  1. 將您的金鑰和憑證複製到適當的目錄。

    sudo cp ssl-client.crt /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. 使用設定工具來指定 ssl-client.crtssl-client.key

    sudo /opt/cloudhsm/bin/configure --ssl \ --pkey /opt/cloudhsm/etc/ssl-client.key \ --cert /opt/cloudhsm/etc/ssl-client.crt
  3. customerCA.crt 憑證新增至信任存放區。建立憑證主體名稱的雜湊。這會建立索引,以允許依該名稱來查詢憑證。

    openssl x509 -in /opt/cloudhsm/etc/customerCA.crt -hash | head -n 1 1234abcd

    建立目錄。

    mkdir /opt/cloudhsm/etc/certs

    建立檔案,其中包含憑證與雜湊名稱。

    sudo cp /opt/cloudhsm/etc/customerCA.crt /opt/cloudhsm/etc/certs/1234abcd.0

用戶端 5 SDK SSL的自訂

使用任何 Client SDK 5 設定工具來啟用自訂 SSL。如需設定 Client 5 SDK 工具的詳細資訊,請參閱 AWS CloudHSM Client SDK 5 設定工具

PKCS #11 library
使用自訂憑證和金鑰與 Linux 上的 Client SDK 5 進行TLS用戶端伺服器相互身分驗證
  1. 將您的金鑰和憑證複製到適當的目錄。

    $ sudo cp ssl-client.crt /opt/cloudhsm/etc $ sudo cp ssl-client.key /opt/cloudhsm/etc
  2. 使用設定工具來指定 ssl-client.crtssl-client.key

    $ sudo /opt/cloudhsm/bin/configure-pkcs11 \ --server-client-cert-file /opt/cloudhsm/etc/ssl-client.crt \ --server-client-key-file /opt/cloudhsm/etc/ssl-client.key
使用自訂憑證和金鑰與 Windows 上的 Client SDK 5 進行TLS用戶端伺服器相互身分驗證
  1. 將您的金鑰和憑證複製到適當的目錄。

    cp ssl-client.crt C:\ProgramData\Amazon\CloudHSM\ssl-client.crt cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. 透過 PowerShell 解譯器,使用設定工具指定 ssl-client.crtssl-client.key

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" ` --server-client-cert-file C:\ProgramData\Amazon\CloudHSM\ssl-client.crt ` --server-client-key-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key
OpenSSL Dynamic Engine
使用自訂憑證和金鑰與 Linux 上的 Client SDK 5 進行TLS用戶端伺服器相互身分驗證
  1. 將您的金鑰和憑證複製到適當的目錄。

    $ sudo cp ssl-client.crt /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. 使用設定工具來指定 ssl-client.crtssl-client.key

    $ sudo /opt/cloudhsm/bin/configure-dyn \ --server-client-cert-file /opt/cloudhsm/etc/ssl-client.crt \ --server-client-key-file /opt/cloudhsm/etc/ssl-client.key
JCE provider
使用自訂憑證和金鑰與 Linux 上的 Client SDK 5 進行TLS用戶端伺服器相互身分驗證
  1. 將您的金鑰和憑證複製到適當的目錄。

    $ sudo cp ssl-client.crt /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. 使用設定工具來指定 ssl-client.crtssl-client.key

    $ sudo /opt/cloudhsm/bin/configure-jce \ --server-client-cert-file /opt/cloudhsm/etc/ssl-client.crt \ --server-client-key-file /opt/cloudhsm/etc/ssl-client.key
使用自訂憑證和金鑰與 Windows 上的 Client SDK 5 進行TLS用戶端伺服器相互身分驗證
  1. 將您的金鑰和憑證複製到適當的目錄。

    cp ssl-client.crt C:\ProgramData\Amazon\CloudHSM\ssl-client.crt cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. 透過 PowerShell 解譯器,使用設定工具指定 ssl-client.crtssl-client.key

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" ` --server-client-cert-file C:\ProgramData\Amazon\CloudHSM\ssl-client.crt ` --server-client-key-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key
CloudHSM CLI
使用自訂憑證和金鑰與 Linux 上的 Client SDK 5 進行TLS用戶端伺服器相互身分驗證
  1. 將您的金鑰和憑證複製到適當的目錄。

    $ sudo cp ssl-client.crt /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. 使用設定工具來指定 ssl-client.crtssl-client.key

    $ sudo /opt/cloudhsm/bin/configure-cli \ --server-client-cert-file /opt/cloudhsm/etc/ssl-client.crt \ --server-client-key-file /opt/cloudhsm/etc/ssl-client.key
使用自訂憑證和金鑰與 Windows 上的 Client SDK 5 進行TLS用戶端伺服器相互身分驗證
  1. 將您的金鑰和憑證複製到適當的目錄。

    cp ssl-client.crt C:\ProgramData\Amazon\CloudHSM\ssl-client.crt cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. 透過 PowerShell 解譯器,使用設定工具指定 ssl-client.crtssl-client.key

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-cli.exe" ` --server-client-cert-file C:\ProgramData\Amazon\CloudHSM\ssl-client.crt ` --server-client-key-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key