当前位置: 首页 > 知识库问答 >
问题:

Xampp SSL设置-通过“连接不安全”导入证书

米裕
2023-03-14

我一直试图使我的本地基于XAMPP的网站在我们的本地intranet系统中正确地使用SSL。

Windows版本:Windows Server 2016 Standard
XAMPP Version 7.4.1
PHP Version 7.4.1

HTTP端口:8080
SSL端口:4443

以下步骤可以启动并运行未加密版本:

  • 主机文件:添加“127.0.0.1www.site.local”
  • httpd.conf:添加“listen:8080”
  • httpd.conf:添加“servername www.site.local:8080”

现在,我创建ssl根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"
    

    (将根CA导入浏览器和Windows)-作为受信任的CA导入Windows:Check-Firefox浏览器:Check

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

    我试图检查Apache错误以获得一些指导。它运行得很好。

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

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

    我已经被要求一些安全的东西在本地,没有任何第三方来源的证书。得在当地做点什么。

共有1个答案

松俊才
2023-03-14

我想这里有一个博客,你可以通过ACME根CA来解决你的问题:

https://medium.com/@tbusser/creating-a-browser-trusted-self-signd-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。

 类似资料:
  • HTTP端口:8080 SSL端口:4443 我学习了Apache教程,它使用XAMPP版本的Openssl为SSL创建必要的证书。 https://community.apachefriends.org/viewtopic.php?f=16&t=77006&sid=E0291BC38DD9B562CD74E5F72153C1F7# 主机文件:添加“127.0.0.1www.site.local”

  • 我试图通过Psycopg2连接到AWS postgresql RDS。当我将安全组的入站规则设置为通过端口5432上的postgresql接受所有通信量时,我就可以连接了。 但是,当我将此端口上的postgresql入站规则限制为只接受来自客户端IP的通信量时,我无法连接并超时。我得到了错误: psycopg2.operationalerror:无法连接到服务器:连接超时服务器是否运行在主机“[h

  • 我越来越不正常了 太阳安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径 我已在该位置设置SSL证书 C:\Program Files\AdoptOpenJDK\jdk-11.0.9.11-hotspot\lib\security 但我在点击服务器时遇到了

  • [Standalone@localhost:9990/]/subsystem=elytron/filesystem-realm=proxyrealm:add(path=proxy-realm-users,relative-to=jboss.server.config.dir) {“结果”=>“成功”} [standalone@localhost:9990/]/subsystem=elytron/f

  • 我要连接的代码: 命令行版本的相同的程序,我可以运行没有任何例外!另一个来自JCraft[link]http://www.jcraft.com/jsch/examples/SFTP.java.html网站的SFTP示例运行良好。

  • 问题内容: 我具有以下自定义ajax函数,该函数将数据发布回PHP文件。每当发生数据发布时,我都会遇到以下两个错误: 拒绝设置不安全标头“ Content-length” 拒绝设置不安全标头“ Connection” 代码: 我究竟做错了什么? 问题答案: 删除以下两行: 不允许XMLHttpRequest设置这些标头,它们是由浏览器自动设置的。原因是通过处理这些标头,您可能能够欺骗服务器通过同一