本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SSL使用新证书和私钥重新配置(可选)
AWS CloudHSM 使用SSL证书与建立连接HSM。安装客户端时会包含默认密钥和SSL证书。但是,您也可以创建和使用自己的密钥和 SSL 证书。请注意,您将需要在初始化customerCA.crt
集群时创建的自签名证书 (使用私有密钥创建自签名证书)。
从较高的层面上说,这是一个两步过程:
-
首先,创建私钥,然后使用该密钥创建证书签名请求 (CSR)。使用颁发证书(您在初始化集群时创建的证书)来签名。CSR
-
接下来,使用配置工具将密钥和证书复制到相应的目录中。
创建密钥 aCSR,然后签名 CSR
客户端 SDK 3 或客户端 SDK 5 的步骤相同。
SSL使用新证书和私钥重新配置
-
使用以下 Open SSL 命令创建私钥:
openssl genrsa -out ssl-client.key 2048
Generating RSA private key, 2048 bit long modulus
........+++
............+++
e is 65537 (0x10001)
-
使用以下 O SSL pen 命令创建证书签名请求 (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 []:
-
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
SSL为启用自定义 AWS CloudHSM
客户端 SDK 3 和客户端 SDK 5 的步骤不同。有关使用 configure 命令行工具的更多信息,请参阅 Configure 工具。
SSL为客户端 SDK 3 定制
使用客户端 SDK 3 的配置工具启用自定义SSL。有关客户端 SDK 3 的配置工具的更多信息,请参阅客户端 SDK 3 配置工具。
在 Linux 上使用自定义证书和密钥与客户端 SDK 3 进行客户端 TLS-服务器相互认证
-
将您的密钥和证书复制到相应目录。
sudo cp ssl-client.crt /opt/cloudhsm/etc
sudo cp ssl-client.key /opt/cloudhsm/etc
-
使用配置工具指定 ssl-client.crt
和 ssl-client.key
。
sudo /opt/cloudhsm/bin/configure --ssl \
--pkey /opt/cloudhsm/etc/ssl-client.key
\
--cert /opt/cloudhsm/etc/ssl-client.crt
-
将 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
SSL为客户端 SDK 5 定制
使用任何 Client SDK 5 配置工具来启用自定义SSL。有关客户端 SDK 5 配置工具的更多信息,请参阅客户端 SDK 5 配置工具。
- PKCS #11 library
-
在 Linux 上使用自定义证书和密钥与客户端 SDK 5 进行客户端 TLS-服务器相互认证
-
将您的密钥和证书复制到相应目录。
$
sudo cp ssl-client.crt /opt/cloudhsm/etc
$
sudo cp ssl-client.key /opt/cloudhsm/etc
-
使用配置工具指定 ssl-client.crt
和 ssl-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 上使用自定义证书和密钥与客户端 SDK 5 进行客户端 TLS-服务器相互身份验证
-
将您的密钥和证书复制到相应目录。
cp ssl-client.crt C:\ProgramData\Amazon\CloudHSM\ssl-client.crt
cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
-
使用 PowerShell 解释器,使用配置工具指定ssl-client.crt
和ssl-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-服务器相互认证
-
将您的密钥和证书复制到相应目录。
$
sudo cp ssl-client.crt /opt/cloudhsm/etc
sudo cp ssl-client.key /opt/cloudhsm/etc
-
使用配置工具指定 ssl-client.crt
和 ssl-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-服务器相互认证
-
将您的密钥和证书复制到相应目录。
$
sudo cp ssl-client.crt /opt/cloudhsm/etc
sudo cp ssl-client.key /opt/cloudhsm/etc
-
使用配置工具指定 ssl-client.crt
和 ssl-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 上使用自定义证书和密钥与客户端 SDK 5 进行客户端 TLS-服务器相互身份验证
-
将您的密钥和证书复制到相应目录。
cp ssl-client.crt C:\ProgramData\Amazon\CloudHSM\ssl-client.crt
cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
-
使用 PowerShell 解释器,使用配置工具指定ssl-client.crt
和ssl-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-服务器相互认证
-
将您的密钥和证书复制到相应目录。
$
sudo cp ssl-client.crt /opt/cloudhsm/etc
sudo cp ssl-client.key /opt/cloudhsm/etc
-
使用配置工具指定 ssl-client.crt
和 ssl-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 上使用自定义证书和密钥与客户端 SDK 5 进行客户端 TLS-服务器相互身份验证
-
将您的密钥和证书复制到相应目录。
cp ssl-client.crt C:\ProgramData\Amazon\CloudHSM\ssl-client.crt
cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
-
使用 PowerShell 解释器,使用配置工具指定ssl-client.crt
和ssl-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