我可以按如下方式生成自己的私钥和证书:
openssl genrsa -out privatekey.pem 2048
openssl req -new -x509 -key privatekey.pem -out g4certificate.pem -days 1095
将证书/私钥部分复制粘贴到数据库中并执行测试工具包将返回成功的 HMAC 密钥交换。
但是,我现在已经购买了 GlobalSign ssl 证书并拥有 .pfx 文件。
如何提取与工具包返回成功密钥交换时使用的等效 RSA 私钥/证书类似的私钥/证书?
我的尝试:
我尝试使用以下命令将 .pfx 文件转换为 .pem 文件:
openssl pkcs12 -nodes -in filename.pfx -out filename.pem
生成的 .pem 文件包含 3 个证书和一个私钥,其标题为“-----BEGIN PRIVATE KEY-----”而不是“-----BEGIN RSA PRIVATE KEY-----”。
我尝试将私钥复制粘贴到新文档中并将其保存为 privatekey.key。然后使用以下命令进行转换:
openssl rsa -in privatekey.key -out privatekey_new.key
这将生成一个带有“-----BEGIN RSA PRIVATE KEY-----”标头的文件,类似于自生成的 RSA 密钥。
但是,尝试交换密钥时,出现以下错误:
DEBUG [AbstractTest] - Failed:
java.security.InvalidKeyException: Wrong key usage
at javax.crypto.Cipher.init(Cipher.java:1674)
at javax.crypto.Cipher.init(Cipher.java:1580)
答案1
密钥使用错误
这意味着该证书不能用于您尝试做的事情。