【问题标题】:Correct PEM format for a file in AWS Secrets Manager更正 AWS Secrets Manager 中文件的 PEM 格式
【发布时间】:2022-11-08 16:42:31
【问题描述】:

我正在尝试在 AWS Secrets Manager 中上传密钥。该文件的格式为

{
 "privateKeyPassword": "testpassword",
 "certificate": "-----BEGIN CERTIFICATE-----
MIIE5DCCAsygAwIBAgIRAPJdwaFaNRrytHBto0j5BA0wDQYJKoZIhvcNAQELBQAw
...
j0Lh4/+1HfgyE2KlmII36dg4IMzNjAFEBZiCRoPimO40s1cRqtFHXoal0QQbIlxk
cmUuiAii9R0=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFgjCCA2qgAwIBAgIQdjNZd6uFf9hbNC5RdfmHrzANBgkqhkiG9w0BAQsFADBb
...
rQoiowbbk5wXCheYSANQIfTZ6weQTgiCHCCbuuMKNVS95FkXm0vqVD/YpXKwA/no
c8PH3PSoAaRwMMgOSA2ALJvbRz8mpg==
-----END CERTIFICATE-----",
 "privateKey": "-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFKzBVBgkqhkiG9w0BBQ0wSDAnBgkqhkiG9w0BBQwwGgQUiAFcK5hT/X7Kjmgp
...
QrSekqF+kWzmB6nAfSzgO9IaoAaytLvNgGTckWeUkWn/V0Ck+LdGUXzAC4RxZnoQ
zp2mwJn2NYB7AZ7+imp0azDZb+8YG2aUCiyqb6PnnA==
-----END ENCRYPTED PRIVATE KEY-----"
}  

与文档here 完全匹配。 但是当我运行我的 lambda 函数时,我在配置中遇到错误:

Last processing result: PROBLEM: Certificate and/or private key must be in PEM format. 

我认为加密的密钥是问题,我需要在秘密中添加私钥密码。我不确定该怎么做,或者这是否是问题所在? 我该如何纠正这个问题?

【问题讨论】:

  • 文档中的... 意味着您应该将自己的证书放在那里。这不是有效的格式。
  • 是的,我知道,我以它为例。我想提请注意,私钥是加密的,如何解决?

标签: amazon-web-services pem


【解决方案1】:

正确的格式是格式良好的 JSON,PEM 值中的每个断行都应替换为 字符,如下所示:

{
  "privateKeyPassword": "testpassword",
  "certificate": "-----BEGIN CERTIFICATE-----
MIIE5DCCAsygAwIBAgIRAPJdwaFaNRrytHBto0j5BA0wDQYJKoZIhvcNAQELBQAw
...
j0Lh4/+1HfgyE2KlmII36dg4IMzNjAFEBZiCRoPimO40s1cRqtFHXoal0QQbIlxk
cmUuiAii9R0=
-----END CERTIFICATE-----",
  "privateKey": "-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFKzBVBgkqhkiG9w0BBQ0wSDAnBgkqhkiG9w0BBQwwGgQUiAFcK5hT/X7Kjmgp
...
QrSekqF+kWzmB6nAfSzgO9IaoAaytLvNgGTckWeUkWn/V0Ck+LdGUXzAC4RxZnoQ
zp2mwJn2NYB7AZ7+imp0azDZb+8YG2aUCiyqb6PnnA==
-----END ENCRYPTED PRIVATE KEY-----"
}

【讨论】:

  • 从 JSON 中检索密钥后,您必须使用 Regex.Unescape 来使用密钥,以便它具有正确的格式。
【解决方案2】:

https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger-tls-certificates.html

只需将密钥作为纯文本粘贴即可。 要检索它,这将起作用:

aws secretsmanager get-secret-value --secret-id secretName --query 'SecretString' --output text

【讨论】:

    猜你喜欢
    • 2021-07-23
    • 2022-09-23
    • 2020-08-23
    • 1970-01-01
    • 2020-03-04
    • 2021-04-21
    • 2021-03-17
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多