Apache – 创build不带.key的SSL证书的CSR

我是在Apache(Windows服务器)中手动创buildCSR以及安装生成的证书的全新产品。 但是,这是我所做的。

首先,我使用以下命令生成CSR …

openssl req -new -newkey rsa:2048 -nodes -keyout [domainname].key -out [domainname].csr -config "C:\Apache24\conf\openssl.cnf" 

然后我走过来回答提示。 我没有为密码input任何内容,只是简单地input并跳过它。 不知道这是什么原因导致了我有或没有的问题。

CSR生成后,我将其上传到我的SSL供应商,然后下载得到的证书.zip文件。 .zip文件虽然只包含2个文件。 一个是随机string文件名.crt,另一个是一个捆绑文件名.crt文件。 根本就没有.key文件。

然后,我将以下几行添加到Apache的VirtualHosts文件中。

 <VirtualHost *:443> ServerAdmin [email protected] DocumentRoot "c:/sites/mydomain.com" ServerName mydomain.com ServerAlias www.mydomain.com SSLEngine on SSLCertificateFile "c:\ssl\mydomain.com\randomstringfilename.crt" SSLCACertificateFile "c:\ssl\mydomain.com\bundlefilename.crt" </VirtualHost> 

但是当我尝试启动Apache服务时,它会炸弹,并在error.log文件中得到以下内容。

 [Tue Nov 21 12:13:08.096246 2017] [ssl:emerg] [pid 10496:tid 500] AH02577: Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file C:/ssl/mydomain.com/randomstringfilename.crt) [Tue Nov 21 12:13:08.097246 2017] [ssl:emerg] [pid 10496:tid 500] AH02564: Failed to configure encrypted (?) private key mydomain.com:443:0, check C:/ssl/mydomain.com/randomstringfilename.crt [Tue Nov 21 12:13:08.097246 2017] [ssl:emerg] [pid 10496:tid 500] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Tue Nov 21 12:13:08.097246 2017] [ssl:emerg] [pid 10496:tid 500] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error [Tue Nov 21 12:13:08.097246 2017] [ssl:emerg] [pid 10496:tid 500] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Tue Nov 21 12:13:08.097246 2017] [ssl:emerg] [pid 10496:tid 500] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA) [Tue Nov 21 12:13:08.097246 2017] [ssl:emerg] [pid 10496:tid 500] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib [Tue Nov 21 12:13:08.097246 2017] [ssl:emerg] [pid 10496:tid 500] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Tue Nov 21 12:13:08.097246 2017] [ssl:emerg] [pid 10496:tid 500] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO) 

我认为这与事实有关,我没有一个private.key文件添加到SSLCertificateKeyFile语句的VirtualHosts,但我不知道,因为我从来没有这样做过。

我需要做什么?

谢谢!

openssl req -new … -keyout [domainname] .key

当你运行创buildCSR的命令时,它创build了一个保存到[domainname].key的密钥,希望你仍然可以在某个地方使用它。 如果不是,只需重新生成一个新的CSR,然后重新键入。 大多数CA将允许您生成一个新的密钥/证书,而不需要任何额外的费用。 这次密切关注您的密钥和csr保存在哪里。