【问题标题】:Xampp SSL Setup - Certificates Imported, by "connection is not secure"Xampp SSL 设置 - 通过“连接不安全”导入的证书
【发布时间】:2020-07-04 11:06:30
【问题描述】:

我一直在尝试使我的本地基于 Xampp 的网站正确地为我们的本地 Intranet 系统使用 SSL。

Windows 版:Windows Server 2016 标准版
XAMPP 版本 7.4.1
PHP 版本 7.4.1

HTTP 端口:8080
SSL 端口:4443

我遵循了 Apache 教程,它使用 Xampp 的 Openssl 版本为 SSL 创建必要的证书。

https://community.apachefriends.org/viewtopic.php?f=16&t=77006&sid=e0291bc38dd9b562cd74e5f72153c1f7#

这些步骤使未加密版本启动并运行:

  • 主机文件:添加“127.0.0.1 www.site.local”
  • httpd.conf:添加“监听:8080”
  • httpd.conf:添加“服务器名称 www.site.local:8080”

现在,我创建 ssl root ca 和证书请求:

  • 创建私钥“openssl genrsa -out myrootca.key 4096”
  • 创建根证书“openssl req -new -x509 -days 1826 -key myrootca.key -out myrootca.crt
  • 创建域证书“openssl genrsa -out www.site.local.key 2048”
  • 创建签名请求“openssl req -new -sha256 -key www.site.local.key -out www.site.local.csr -sha256”
  • 创建证书,使用我的根 CA 签名“openssl x509 -req -days 360 -in www.site.local.csr -CA myrootca.crt -CAkey myrootca.key -CAcreateserial -out www.site.local.crt - sha256"
  • 我将这些证书和密钥放在了它们各自的路径中:
    • C:/xampp/apache/conf/ssl.crt/www.site.local.crt
    • C:/xampp/apache/conf/ssl.key/www.site.local.key

(设置文件“httpd-ssl”以合并这些证书)

Listen 4443
<VirtualHost default:4443>

#   General setup for the virtual host
    ServerAdmin admin@example.com
    DocumentRoot "C:/xampp/htdocs/site_intranet/"
    ServerName www.site.local:4443
    ServerAlias www.site.local
    ErrorLog "C:/xampp/apache/logs/error.log"
    TransferLog "C:/xampp/apache/logs/access.log"

SSLEngine on
SSLCertificateFile "C:/xampp/apache/conf/ssl.crt/www.site.local.crt"
SSLCertificateKeyFile "C:/xampp/apache/conf/ssl.key/www.site.local.key"

(将 ROOT CA 导入浏览器和 Windows) - 作为受信任的 CA 导入到 Windows:检查 - 火狐浏览器:检查

问题:所有访问 www.site.local 的尝试(通过任一端口)都会导致来自 Firefox 的“不安全”警告。

我已尝试检查 Apache 错误以获取一些指导。它运行良好。

我得到的唯一 Firefox 错误是“该网站不提供所有权信息。”

我知道您不能再只放入一个基本证书,但我希望首先构建一个根 CA,然后从中设计证书将提供启用 SSL 所需的信任链。我在这里错过了一些简单的东西吗?

有人要求我提供一些本地安全的东西,而无需任何第三方来源的证书。必须在本地进行一些工作。

【问题讨论】:

    标签: php apache ssl openssl xampp


    【解决方案1】:

    我认为这是一个您可以通过 ACME Root CA 解决您的问题的博客:

    https://medium.com/@tbusser/creating-a-browser-trusted-self-signed-ssl-certificate-2709ce43fd15

    以下是博客的回顾:

    命令回顾

    创建根证书需要以下命令:

    openssl genrsa -des3 -out rootCA.key 2048
    openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024  -out rootCA.pem
    

    创建自建根证书颁发的SSL证书需要以下命令:

    openssl req -new -nodes -out server.csr -newkey rsa:2048 -keyout server.key
    openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext
    

    引用的 v3.ext 文件应如下所示:

    authorityKeyIdentifier=keyid,issuer
    basicConstraints=CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    subjectAltName = @alt_names
    [alt_names]
    DNS.1 = acme-site.dev
    DNS.2 = acme-static.dev
    

    感谢 Thijs Busser。

    【讨论】:

      猜你喜欢
      • 2012-07-07
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 2022-06-17
      • 2021-09-03
      • 2014-07-14
      • 2016-08-24
      • 2014-06-26
      相关资源
      最近更新 更多