【发布时间】:2020-01-28 05:31:51
【问题描述】:
使用 CFML (Lucee),我正在尝试使用 AWS java SDK (v1.11) 创建签名的 Cloudfront URL,但我一直在尝试创建签名。问题是我似乎无法将我的 .pem 私钥转换为 .der 格式。我在以下代码 sn-p 的最后一行不断收到各种无效密钥错误:
var derContent = FileReadBinary("C:/path/to/cert.der");
var keySpec = createObject("java", "java.security.spec.PKCS8EncodedKeySpec");
var keyFactory = createObject("java", "java.security.KeyFactory").getInstance("RSA");
var privateKey = keyFactory.generatePrivate(keySpec.init(derContent));
我尝试了几次尝试使用 openssl 转换文件,但遇到了各种问题。
此命令不会创建 .pem 证书:
openssl x509 -inform PEM -outform DER -text -in pk-XXXX.pem -out pk-XXXX.der
unable to load certificate
30276:error:0909006C:PEM routines:get_name:no start line:../openssl-
1.1.1a/crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
此人创建了证书,但调用 generatePrivate() 时出现 invalid key format 错误
openssl rsa -inform PEM -outform DER -text -in pk-XXXX.pem -out pk-XXXX.der
任何人都可以建议其他方法来转换证书吗?谢谢!
【问题讨论】:
标签: openssl amazon-cloudfront pem cfml aws-java-sdk