为 XAMPP Apache 安装 SSL 证书
Posted
技术标签:
【中文标题】为 XAMPP Apache 安装 SSL 证书【英文标题】:Install SSL Certificates for XAMPP Apache 【发布时间】:2014-06-26 12:10:36 【问题描述】:我使用openssl
CLI 生成了server.key
,然后从中生成了server.csr
。然后我向我的公司提交了server.csr
(这都是内部的),他们给了我一个文本文件,我将其重命名为server.crt
我按照本指南为 XAMPP 的 Apache 安装 SSL 证书
https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&actp=CROSSLINK&id=AR193
基本上我编辑了httpd-ssl.conf
文件如下:
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"
SSLCACertificatePath "conf/ssl.crt/"
SSLCACertificateFile "conf/ssl.crt/server.crt"
当我重新启动我的 Apache 服务器时,它失败并出现错误:
[Thu May 08 14:14:48.014710 2014] [ssl:warn] [pid 1924:tid 272] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu May 08 14:14:48.016664 2014] [ssl:warn] [pid 1924:tid 272] AH01907: RSA server certificate is not a leaf certificate (BasicConstraints: pathlen == 2 > 0 !?)
[Thu May 08 14:14:48.016664 2014] [ssl:warn] [pid 1924:tid 272] AH01909: RSA certificate configured for www.myservername.com:443 does NOT include an ID which matches the server name
[Thu May 08 14:14:48.016664 2014] [ssl:emerg] [pid 1924:tid 272] AH02238: Unable to configure RSA server private key
[Thu May 08 14:14:48.016664 2014] [ssl:emerg] [pid 1924:tid 272] SSL Library Error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
[Thu May 08 14:14:48.016664 2014] [ssl:emerg] [pid 1924:tid 272] AH02311: Fatal error initialising mod_ssl, exiting. See C:/xampp/apache/logs/error.log for more information
有人知道为什么吗?如何解决这个问题?
这是我的系统信息
Windows NT LGLAC046 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586
Apache/2.4.4 (Win32) OpenSSL/0.9.8y php/5.4.19
OPENSSL_CONF C:/xampp/apache/bin/openssl.cnf
SSL Version OpenSSL/0.9.8y
【问题讨论】:
这个问题属于 Stack Exchange 网络中的另一个站点,因为它与编程无关。也许是服务器故障的超级用户。 【参考方案1】:我使用 openssl CLI 生成了 server.csr,然后从中生成了 server.key 你应该先生成一个私钥:
openssl genrsa -des3 -out server.key 1024
然后生成一个csr:
openssl req -new -key server.key -out server.csr
如果您要申请新证书,则将 CSR 发送给 CA。 听起来您拥有的是 CA 证书,而不是服务器证书。
【讨论】:
我在流程上进行了编辑。你说得对。那么 httpd-ssl 中的 CA 证书的配置不一样吗? CA 证书是用来签署其他证书的,它不能用作服务器证书。听起来你的服务器证书和 CA-bundle 是同一个文件。它们不应该是.SSLCACertificateFile "conf/ssl.crt/server.crt"
应该是您的 CA 捆绑包,任何签署您的证书的人都应该提供。在您遵循的说明中,这是中间.crt 文件。您的服务器证书 - SSLCertificateFile "conf/ssl.crt/server.crt"
应该是您收到的 PEM 编码文件。它应该有一个结构“-----BEGIN CERTIFICATE-----[encoded data] -----END CERTIFICATE-----”
那么你建议我改变什么?以上是关于为 XAMPP Apache 安装 SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章