【问题标题】:Convert AWS private key from .pem format to .der format for use with java将 AWS 私钥从 .pem 格式转换为 .der 格式以用于 java
【发布时间】: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


    【解决方案1】:

    来自这篇文章:https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CFPrivateDistJavaDevelopment.html

    此 openssl 命令会将您的云端私钥文件转换为 .der 格式:

    openssl pkcs8 -topk8 -nocrypt -in aws-private-key.pem -inform PEM -out aws-private-key.der -outform DER
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-21
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多