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

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

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

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

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

  1. 首先,您可以建立一個私有金鑰,然後用該金錀建立憑證簽署要求 (CSR)。使用您在初始化叢集時建立的發行憑證來簽署 CSR。

  2. 接下來,您可以使用設定工具將金鑰和憑證複製到適當的目錄。

建立一個金鑰和 CSR,然後簽署 CSR

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

使用新憑證和私有金鑰重新設定 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. 使用您初始化叢集時所建立的 customerCA.crt 憑證來簽署 CSR。

    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

啟用自訂 SSL AWS CloudHSM

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

用戶端 SDK 3 的自訂 SSL

使用用戶端 SDK 3 的設定工具來啟用自訂 SSL。如需有關用戶端 SDK 3 設定工具的詳細資訊,請參閱 用戶端 SDK 3 設定工具

使用自訂憑證和金鑰在 Linux 上使用用戶端 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

用戶端 SDK 5 的自訂 SSL

使用用戶端 SDK 5 任意設定工具來啟用自訂 SSL。如需有關用戶端 SDK 5 設定工具的詳細資訊,請參閱 用戶端 SDK 5 設定工具

PKCS #11 library
使用自訂憑證和金鑰在 Linux 上使用用戶端 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
使用自訂憑證和金鑰進行 TLS 用戶端伺服器與 Windows 用戶端 SDK 5 的相互驗證
  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 上使用用戶端 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 上使用用戶端 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
使用自訂憑證和金鑰進行 TLS 用戶端伺服器與 Windows 用戶端 SDK 5 的相互驗證
  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 上使用用戶端 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
使用自訂憑證和金鑰進行 TLS 用戶端伺服器與 Windows 用戶端 SDK 5 的相互驗證
  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