如何找出SSL证书的types?

我通过我的authentication机构的电子邮件收到了一个如此开始的证书:

-----BEGIN CERTIFICATE----- MIAGCSqGSIb3DQEHAqCAMIACAQExADALBgkqhkiG9w0BBwGggDCCBWMwggRLoAMC 

并像这样结束:

 14lWAyMfs77oOghZtOxFNfeKW/9mz1Cvxm1XjRl4t7mi0VfqH5pLr7rJjhJ+xr3/ AAAxAAAAAAAAAA== -----END CERTIFICATE----- 

我通过电子邮件收到了,我复制/粘贴证书部分在一个test.cer文件(我四重奏 – 检查我复制/粘贴正确的部分)

当我尝试在Apache 2中使用它时,出现以下错误:

 [Mon Sep 30 23:15:36.754820 2013] [ssl:emerg] [pid 7544:tid 444] AH02241: Init: Unable to read server certificate from file C:/projects/test-ssl/test.cer [Mon Sep 30 23:15:36.754820 2013] [ssl:emerg] [pid 7544:tid 444] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Mon Sep 30 23:15:36.754820 2013] [ssl:emerg] [pid 7544:tid 444] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=X509) [Mon Sep 30 23:15:36.754820 2013] [ssl:emerg] [pid 7544:tid 444] AH02312: Fatal error initialising mod_ssl, exiting. 

经过一番研究,我发现原因可能是证书是腐败的,所以为了检查它,我testing了它

 C:\Apache24\bin\openssl.exe x509 -in test.cer -text 

和我得到一个类似的错误:

 unable to load certificate 8100:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:.\crypto\asn1\tasn_dec.c:1319: 8100:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:.\crypto\asn1\tasn_dec.c:381:Type=X509_CINF 8100:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:.\crypto\asn1\tasn_dec.c:751:Field=cert_info, Type=X509 8100:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:.\crypto\pem\pem_oth.c:83: 

我不是SSL方面的专家,但我怀疑证书颁发机构(Symantec)给我发送了一个腐败证书。

任何想法这个证书可能是错误的? 它可能是不同的格式,我不知道?

尝试将该证书导入一些NSS商店。 例如,使用NSS的Firefox。 这是SSL的其他实现(实际上是第一个),你可以看到证书的属性…当然,如果你成功的导入。 否则你得到了一些错误的证书。

在最后一行最后一行之后确保你没有最后的CARRIAGERETURN:

 AAAxAAAAAAAAAA== -----END CERTIFICATE----- 

并不是

 AAAxAAAAAAAAAA== -----END CERTIFICATE----- . 

(请忽略点:)

一定要包括

。 – – – -开始 – – –

。 – – 结束 – –

部分与发送给您的部分完全相同。

还要注意,开始应该是第一行,结束于最后。 应该没有周围的空白。 最后…如果你正在处理一个windows系统中的某个地方,新窗口(\ n)有一个窗口系统添加(\ r)的机会。 hex编辑器可能是最快的方法来检查。