在configuration经authentication的SSL证书时发出

我有一个networking签名证书,我试图在我的apache服务器上configuration,没有什么好运气:(为了生成这个证书,他们需要从我身边的CSR。我使用以下命令创build了CSR:

首先使用命令创build密钥库文件 –

keytool -genkey -alias generated -keyalg RSA -keysize 2048 -keystore generated.keystore 

使用以下命令从此密钥库生成CSR:

 keytool -certreq -keyalg RSA -alias generated -file generated.csr -keystore generated.keystore 

我的csr看起来像:

 -----BEGIN NEW CERTIFICATE REQUEST----- MIIC7jCCAdYCAQAwgagxCzAJBgNVBAYTAklOMRAwDgYDVQQIEwdNYW5pcHVyMQ8wDQYDVQQHEwZJ bXBoYWwxNTAzBgNVBAoTLE1hbmlwdXIgU3RhdGUgSW5mb3JtYXRpb24gVGVjaG5vbG9neSBTb2Np ZXR5MRkwFwYDVQQLDBBTUCBTU0RHICYgZUZvcm1zMSQwIgYDVQQDExt3d3cubWFuaXB1cnBvcnRh ...... ...... bC5tbi5nb3YuaW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRVxKwt/xCiAgGfuCs ud5kcf+BKQURwKExLHUeUNQHpT1IMcx/is9anki+u3ijFbV1ei/ybgSRzFgesem+yTUutTYCgyqd U7ZxJTuKmHDkZCVEBzGxl+Jl8AQxHHQzBI9PWuCBURR0q1eNeasfO3yWZpkRvK58uXf6vGZakYHZ -----END NEW CERTIFICATE REQUEST----- 

他们为此生成了一个证书(.cer)文件,如下所示:

 -----BEGIN CERTIFICATE----- MIIEKTCCAxGgAwIBAgIJEiLiRbpaYkqOMA0GCSqGSIb3DQEBCwUAMGYxCzAJBgNV BAYTAklOMSQwIgYDVQQKExtOYXRpb25hbCBJbmZvcm1hdGljcyBDZW50cmUxDzAN BgNVBAsTBlN1Yi1DQTEgMB4GA1UEAxMXTklDIHN1Yi1DQSBmb3IgTklDIDIwMTEw HhcNMTIwMTIzMDcyNzEyWhcNMTQwMTIyMDcyNzEyWjAmMSQwIgYDVQQDExt3d3cu bWFuaXB1cnBvcnRhbC5tbi5nb3YuaW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDRVxKwt/xCiAgGfuCsud5kcf+BKQURwKExLHUeUNQHpT1IMcx/is9a nki+u3ijFbV1ei/ybgSRzFgesem+yTUutTYCgyqdU7ZxJTuKmHDkZCVEBzGxl+Jl 8AQxHHQzBI9PWuCBURR0q1eNeasfO3yWZpkRvK58uXf6vGZakYHZ9vWAYP7uhtMP 5je1Scqcc09vB5F33ux2svkwzXPxB+KOwx2stvKJ93Vw2VChLLDNByW321L/A7AA nwZ4Jdplh/z+armGZtQO27kgNQdWAA7wQ2wr .. ... .. fDpYOCBy87y4C6CrCaR9WMrAOP2PIazHZFKNjz0sng6TOVQ+SxBW0mmBWJamt2DJ RoBV8pUPMvKmO6ptqklhWOYe4lIIbowhM9K7qyQR03ICiGwMuocj6IbGrJwdfgr1 CTm+L1Zs7UNMJvNxBXTZ41gd9tRazFdo5yAqKO4nPXys0oV6NAmFtUjix+sy6rkn 4O5pyizzRdB2ABcBbpn2yTEggerL2SBwxEwoD1WR3+b09UNZKMBDkHcd8HuJ3NpO F4b5LXnKDXNG9ZKFUVxcDM70mD0YH/ypCthp/2aBFzV46yF73hqXaQwMNQY+dd+R orWm8k2LfwFOxs5jqQ== -----END CERTIFICATE----- 

ssl.conf文件中的Apacheconfiguration:

 SSLCertificateFile /etc/pki/tls/certs/signed.cer SSLCertificateKeyFile /etc/pki/tls/private/generated.keystore 

现在,当我开始我的Apache,我得到一个错误说:

 [Tue Jan 24 13:10:38 2012] [error] Init: Private key not found [Tue Jan 24 13:10:38 2012] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag [Tue Jan 24 13:10:38 2012] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Tue Jan 24 13:10:38 2012] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error [Tue Jan 24 13:10:38 2012] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib 

有谁知道这是什么问题?

您需要将私钥从Java密钥库格式转换为OpenSSL使用的PEM格式。 使用JDK> = 1.6的keytool版本,您可以首先将密钥库转换为PKCS#12格式,然后只提取私钥:

 keytool -importkeystore -srckeystore generated.keystore -destkeystore generated.p12 -deststoretype PKCS12 openssl pkcs12 -in generated.p12 -out generated.pem -nocerts 

这将私钥文件写入generated.pem; 然后在Apacheconfiguration中指定这个文件:

 SSLCertificateKeyFile /etc/pki/tls/private/generated.pem 

因为私钥文件默认是用密码encryption的,所以每次启动Apache时都需要input这个密码。 您可以使用SSLPassPhraseDialog自动提供密码,也可以将-nodes选项添加到openssl pkcs12命令以生成未encryption的私钥文件。

您需要将SSLCertificateKeyFile指向私钥,而不是密钥库。

安装Apache mod ssl

 # yum install mod_ssl 

转到证书文件夹在centos 6

 # cd /etc/ssl/certs/ 

在下面的OpenSSL命令的帮助下重新生成私钥和CSR

 # openssl req -nodes -newkey rsa:2048 -keyout namhuy_net.key -out namhuy_net.csr 

从Verisign,Thawte,Globalsign,Comodo获取CA根证书。 从这些供应商购买证书后,您将收到一封电子邮件w / cert文件。 将这些file upload到

 /etc/ssl/certs/ 

将组合文件保存为namhuy_net.pem。 .pem文件现在可以使用了。

Apache的SSLconfiguration文件是我最终把我的服务器的configuration。

 # nano /etc/httpd/conf.d/ssl.conf 

编辑线条

 SSLEngine on SSLCertificateFile /etc/ssl/certs/namhuy_net.crt SSLCertificateKeyFile /etc/ssl/certs/namhuy_net.key SSLCertificateChainFile /etc/ssl/certs/namhuy_net.pem 

重新启动httpd服务

 # service httpd restart 

资料来源: http : //namhuy.net/760/how-to-install-an-ssl-certificate-on-centos-for-apache.html