【问题标题】:Getting an error while converting .crt to .pem file将 .crt 转换为 .pem 文件时出错
【发布时间】:2020-07-15 14:48:42
【问题描述】:

我在尝试将 .crt 文件转换为 .pem 时遇到错误

命令:

openssl x509 -inform der -in ABC.crt -out ABC.pem

错误:

unable to load certificate
140314118051744:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1199:
140314118051744:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:374:Type=X509

ABC.crt

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

我已经检查了提供的其他解决方案,但我无法找到答案。 有人可以帮忙吗?

正如下面的解决方案中提到的,我尝试拆分这两个证书:

File1.crt

MIIDYTCCAkmgAwIBAgIGAV0znSRkMA0GCSqGSIb3DQEBCwUAMFkxEzARBgoJkiaJk/IsZAEZFgNjb20xFjAUBgoJkiaJk/IsZAEZFgZvcmFjbGUxFTATBgoJkiaJk/IsZAEZFgVjbG91ZDETMBEGA1UEAxMKQ2xvdWQ5Q0EtMjAeFw0xNzA3MTEyMTQ1MjJaFw0yNzA3MTEyMTQ1MjJaMFYxEzARBgNVBAMTCnNzbERvbWFpbnMxDzANBgNVBAMTBkNsb3VkOTEuMCwGA1UEAxMlaWRjcy05Y2I1NzYwM2QwYjc0Mjg0ODFiNDQ0NTgzYWZlNzAxNDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANuTVdug3dS1RjR5ydP90IAUWkGcx/iwQCsinGPA8k1dtHAs4coZpCM0z4XDEu/zbVPshVx7Og2euNdOFFelAPVMz/C4tm8LMk5ZROY4u8VUao7O4V2uMiJlROPEY9FbZpk5a7lh1BsnxPlH6qfm4LZtnsjmWo12OzQ72RQRElsxaqbyAGPX/A6IoFvNVhNvuReqHl7boksFwXrdBzq9uJ9VF0YN+3JuMOgMersTcW0SLARepXXhaXe45MlhXYx1ZbPj/3sHb4mo6iRDK9oTha2dInGQ+9fHKrQ/HgDFjRojqwYjHtBrKcHz2DCHdf9Em4oJEBI7lCQ4gKHIp40RuW0CAwEAAaMyMDAwHQYDVR0OBBYEFFwscxks8Q/z+4FUAi2yryyXi6/vMA8GA1UdDwEB/wQFAwMH2AAwDQYJKoZIhvcNAQELBQADggEBACOAvdb3CV9I1Q14TnloVWFEZBgbeWy9DlvWQT148zuaXuZu9+zoxyR5+8AfjXSoXXqTeFWD98ZfB9sM6HnKP2j/8Ja8E/rH0u4biB3pysnqbGQn7so+JA+sB7aujILa+SBXt84iKf252oSK6cOHnhCNduKof4LFCcfLMxT5WwY5WJd0N+6J64yhEphsRhFZTdu6wHjOzLhncaN5jEppCdC5+52qmKX65hCjXDu6rdrCtoHjpZVfB8KWtqdda8R9obhfvxTo2aho1ye4HcPYOmZOMIuGAK3Wv7eupuhDOset4huJUAvCO99TSyQFZhW8XbwrKynPUxRD9GXhb4QvzK0=

文件2.crt

MIIDazCCAlOgAwIBAgIINViiv6s6qqgwDQYJKoZIhvcNAQELBQAwWTETMBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBm9yYWNsZTEVMBMGCgmSJomT8ixkARkWBWNsb3VkMRMwEQYDVQQDEwpDbG91ZDlDQS0yMCAXDTE2MDUwMzA4MDIxN1oYDzIxMTYwNDA5MDgwMjE3WjBZMRMwEQYKCZImiZPyLGQBGRYDY29tMRYwFAYKCZImiZPyLGQBGRYGb3JhY2xlMRUwEwYKCZImiZPyLGQBGRYFY2xvdWQxEzARBgNVBAMTCkNsb3VkOUNBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWkN6qRNHvItlZ+yQ2RjJ8kGQGRHjP6F+BNYrsKM0okDmuNDZyGoNvbhJD0mEZUDiKokaJJ0+pTSl6EHUzqYQPD8r0OcP+fk2TqR2v2PvPmt6KKXicFPUIoDUnznmdKdgCP+TJE8QjKZgJenR1Y6Q6JW6I1G3bo+auSaL5sITLV8JnN/kd1XWejFEMpovMp8WdBid2wi9abDoygndI9YPfM64/vG1qF1vb8TgyIRRqRRF6DvFa3O6TIjhp9UU8zVfauYmn9BkRt2pylJ2wntfg9FYsl6ZSydltMHQcuHETnxLoJbUwRYv4ah1ca2o0EYZWlGy2EtyX7Qi/ECAKMWSlAgMBAAGjNTAzMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMsXQZBqmxc1LqYNCYwt9OCIMZGRMA0GCSqGSIb3DQEBCwUAA4IBAQC3IFrmt4eQ2Ggx6cp4I9F57BuKBRjH4cbebFM+gL6mvaUsOhtzzZHuR05a5BQYW1CFU7CG2cGEjeSeBqWLcKbq5iXC44gdMcFWH7R5GApNJO3CNI8QZJdbzLWDF0UzPKXxcHwF8niduJuyFwfe/pcW4aWzFdOLKAlIv1iXeungmdhZLg37yh3Zt7WnTAtQFgM0cvxkZlRcreQVisvLtZvTd+wVAUNo57ws/y1cPIBiWwxrvcFDv3+U0I+y2eVqbtmV2nWKeQ1aisBLdQydsuatQM8+C4nFC+BJvfdkYY+6+JNeTc6GCnTpQo3/nkDHH08PGR5Rs+NAdvlshL1GgHbU

并再次尝试将它们分别转换为 .pem 文件,但 我遇到了同样的错误

【问题讨论】:

    标签: openssl x509


    【解决方案1】:

    ABC.crt 内容是无效的证书文件。

    实际上,该文件包含两个证书。我在里面找到了一个"," 分隔符,文件包含两个证书。文件格式错误。

    如果您删除此分隔符(拆分)并将分隔符前后的 base64 字符串放入单独的文件中,您将获得两个 base64 编码的普通 X.509 证书。

    如果你包装这些 Base64 字符串,你会得到完美格式化的 PEM 文件,你甚至不需要使用 OpenSSL。

    一个:

    -----BEGIN CERTIFICATE-----
    MIIDYTCCAkmgAwIBAgIGAV0znSRkMA0GCSqGSIb3DQEBCwUAMFkxEzARBgoJkiaJ
    k/IsZAEZFgNjb20xFjAUBgoJkiaJk/IsZAEZFgZvcmFjbGUxFTATBgoJkiaJk/Is
    ZAEZFgVjbG91ZDETMBEGA1UEAxMKQ2xvdWQ5Q0EtMjAeFw0xNzA3MTEyMTQ1MjJa
    Fw0yNzA3MTEyMTQ1MjJaMFYxEzARBgNVBAMTCnNzbERvbWFpbnMxDzANBgNVBAMT
    BkNsb3VkOTEuMCwGA1UEAxMlaWRjcy05Y2I1NzYwM2QwYjc0Mjg0ODFiNDQ0NTgz
    YWZlNzAxNDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANuTVdug3dS1
    RjR5ydP90IAUWkGcx/iwQCsinGPA8k1dtHAs4coZpCM0z4XDEu/zbVPshVx7Og2e
    uNdOFFelAPVMz/C4tm8LMk5ZROY4u8VUao7O4V2uMiJlROPEY9FbZpk5a7lh1Bsn
    xPlH6qfm4LZtnsjmWo12OzQ72RQRElsxaqbyAGPX/A6IoFvNVhNvuReqHl7boksF
    wXrdBzq9uJ9VF0YN+3JuMOgMersTcW0SLARepXXhaXe45MlhXYx1ZbPj/3sHb4mo
    6iRDK9oTha2dInGQ+9fHKrQ/HgDFjRojqwYjHtBrKcHz2DCHdf9Em4oJEBI7lCQ4
    gKHIp40RuW0CAwEAAaMyMDAwHQYDVR0OBBYEFFwscxks8Q/z+4FUAi2yryyXi6/v
    MA8GA1UdDwEB/wQFAwMH2AAwDQYJKoZIhvcNAQELBQADggEBACOAvdb3CV9I1Q14
    TnloVWFEZBgbeWy9DlvWQT148zuaXuZu9+zoxyR5+8AfjXSoXXqTeFWD98ZfB9sM
    6HnKP2j/8Ja8E/rH0u4biB3pysnqbGQn7so+JA+sB7aujILa+SBXt84iKf252oSK
    6cOHnhCNduKof4LFCcfLMxT5WwY5WJd0N+6J64yhEphsRhFZTdu6wHjOzLhncaN5
    jEppCdC5+52qmKX65hCjXDu6rdrCtoHjpZVfB8KWtqdda8R9obhfvxTo2aho1ye4
    HcPYOmZOMIuGAK3Wv7eupuhDOset4huJUAvCO99TSyQFZhW8XbwrKynPUxRD9GXh
    b4QvzK0=
    -----END CERTIFICATE-----
    

    还有两个:

    -----BEGIN CERTIFICATE-----
    MIIDazCCAlOgAwIBAgIINViiv6s6qqgwDQYJKoZIhvcNAQELBQAwWTETMBEGCgmS
    JomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBm9yYWNsZTEVMBMGCgmSJomT
    8ixkARkWBWNsb3VkMRMwEQYDVQQDEwpDbG91ZDlDQS0yMCAXDTE2MDUwMzA4MDIx
    N1oYDzIxMTYwNDA5MDgwMjE3WjBZMRMwEQYKCZImiZPyLGQBGRYDY29tMRYwFAYK
    CZImiZPyLGQBGRYGb3JhY2xlMRUwEwYKCZImiZPyLGQBGRYFY2xvdWQxEzARBgNV
    BAMTCkNsb3VkOUNBLTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDW
    kN6qRNHvItlZ+yQ2RjJ8kGQGRHjP6F+BNYrsKM0okDmuNDZyGoNvbhJD0mEZUDiK
    okaJJ0+pTSl6EHUzqYQPD8r0OcP+fk2TqR2v2PvPmt6KKXicFPUIoDUnznmdKdgC
    P+TJE8QjKZgJenR1Y6Q6JW6I1G3bo+auSaL5sITLV8JnN/kd1XWejFEMpovMp8Wd
    Bid2wi9abDoygndI9YPfM64/vG1qF1vb8TgyIRRqRRF6DvFa3O6TIjhp9UU8zVfa
    uYmn9BkRt2pylJ2wntfg9FYsl6ZSydltMHQcuHETnxLoJbUwRYv4ah1ca2o0EYZW
    lGy2EtyX7Qi/ECAKMWSlAgMBAAGjNTAzMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD
    VR0OBBYEFMsXQZBqmxc1LqYNCYwt9OCIMZGRMA0GCSqGSIb3DQEBCwUAA4IBAQC3
    IFrmt4eQ2Ggx6cp4I9F57BuKBRjH4cbebFM+gL6mvaUsOhtzzZHuR05a5BQYW1CF
    U7CG2cGEjeSeBqWLcKbq5iXC44gdMcFWH7R5GApNJO3CNI8QZJdbzLWDF0UzPKXx
    cHwF8niduJuyFwfe/pcW4aWzFdOLKAlIv1iXeungmdhZLg37yh3Zt7WnTAtQFgM0
    cvxkZlRcreQVisvLtZvTd+wVAUNo57ws/y1cPIBiWwxrvcFDv3+U0I+y2eVqbtmV
    2nWKeQ1aisBLdQydsuatQM8+C4nFC+BJvfdkYY+6+JNeTc6GCnTpQo3/nkDHH08P
    GR5Rs+NAdvlshL1GgHbU
    -----END CERTIFICATE-----
    

    【讨论】:

    • 我按照您的建议尝试检查 File1.crt 和 File2.crt ,但仍然出现错误。
    • 您只需将 PEM 页眉和页脚应用于每个文件。再次查看我的回复。
    • 好的,谢谢,但是如果我只想获得一个 PEM 文件,我可以合并这些文件吗?
    • 因为我需要将authkey导入keystore。
    • 尝试将这两个证书连接到一个文件中。这可能会(也可能不会)起作用。
    猜你喜欢
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 2011-06-09
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多