从 CloudHSM EC 密钥生成的 CSR 验证失败

从 CloudHSM EC 密钥生成的 CSR 验证失败

我希望使用 CloudHSM 作为中间 CA。为此,我需要生成一个密钥对并使用根(离线 HSM)CA 对其进行签名。我们使用 ECDSA。

但是,当我从 ECC 密钥对生成 CSR 时,验证失败。以下是我所做的:

genECCKeyPair -i 2 -l intermediate-ca -nex
getCaviumPrivKey -k 42 -out intermediate-ca.key
openssl req -engine cloudhsm -new -key intermediate-ca.key -out intermediate-ca.csr -subj "/CN=Intermediate CA"
openssl req -in intermediate-ca.csr -verify -noout

报告如下:

verify failure
139822323439520:error:0D0C5006:asn1 encoding routines:ASN1_item_verify:EVP lib:a_verify.c:249:

如果我尝试签署 CSR,openssl 会报告Signature did not match the certificate request

如果我使用 RSA 密钥执行相同的步骤,一切都会正常。

我究竟做错了什么?

答案1

CloudHSM 的 OpenSSL 引擎不支持 ECC 密钥。

这是隐含的https://docs.aws.amazon.com/cloudhsm/latest/userguide/openssl-library.html(它不在列表中)。

让我困惑的是https://docs.aws.amazon.com/cloudhsm/latest/userguide/ki-openssl-sdk.html#ki-openssl-4意味着它支持的。

不是。请使用其他客户端库之一(JCE、PKCS#11、KSP 或 CNG)。

(我已与 AWS 支持确认了这一点)

相关内容