首页 > 解决方案 > 将 .crt 转换为 .pem 文件时出错

问题描述

尝试将 .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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

我检查了提供的其他解决方案,但找不到答案。有人可以在这里帮忙吗?

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

文件1.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 文件,但我得到了同样的错误

标签: opensslx509

解决方案


内容是无效的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-----

推荐阅读