如何安装:OpenSSL + WAMP

2023-12-28

这里有人有关于如何在我的本地开发计算机上获取 SSL 的清晰详细的步骤吗?我已在 c:\wamp 上安装了最新版本的 WAMP (2.2c)。我在网上找到的说明在大多数情况下似乎已经过时,并且缺乏正确完成工作所需的详细信息。


指南:WampServer 2.5 中的 Openssl

先决条件:通常不需要安装 openssl(它与 Wamp 捆绑在一起)。例如,Apache 2.4.9 包括 1.0.1g。

系统变量:

  • 打开Windows系统面板(“WIN+Q”搜索:系统)>高级系统设置>高级>环境变量
  • 在系统变量中添加一个名为 OPENSSL_CONF 的新条目,其值为 openssl.cnf 的路径(通常类似于 C:\wamp\bin\apache\apache2.4.9\conf\openssl.cnf)

openssl 文件夹结构:

  • 在 C:\wamp\bin\apache\apache#.#.#\conf 中创建以下文件夹结构:

    
    
    ..
    demoCA
    |-----certs
    |-----crl
    |-----newcerts
    |-----private
      

配置 openssl.cnf:

  • I've followed Neil C. Obremski http://www.neilstuff.com/apache2-ssl-windows.html advice and cleared the following defaults:
    • CountryName_default(原为“AU”)
    • stateOrProvinceName_default(原为“Some-State”)
    • 0.organizationName_default(原为“Internet Widgits Pty Ltd”)
    • organizationalUnitName_default(已经为空)

创建证书:

  • 从命令行浏览到 C:\wamp\bin\apache\apache#.#.#\bin\ 并调用“openssl req -new -out cacert.csr -keyout cacert.pem”。如果出现提示,请输入密码,然后输入如下所示的 DN 信息。

    
    
    Loading 'screen' into random state - done
    Generating a 1024 bit RSA private key
    .......................++++++
    ....++++++
    writing new private key to 'cacert.pem'
    Enter PEM pass phrase: my_secret_pass
    Verifying - Enter PEM pass phrase: my_secret_pass
    `-----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    `-----
    Country Name (2 letter code) []:
    State or Province Name (full name) []:
    Locality Name (eg, city) []:
    Organization Name (eg, company) []:
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:local
    Email Address []:
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    
    C:\wamp\bin\apache\apache2.4.9\bin>
      
  • 现在在同一个控制台窗口中使用“openssl rsa -in cacert.pem -out cacert.key”,如果要求输入之前输入的密码。

    
    
    Enter pass phrase for cacert.pem: my_secret_pass
    writing RSA key
      
  • 删除 C:\wamp\bin\apache\apache2.4.9\bin 中的“.rnd”文件

  • 仍在同一窗口中调用“openssl x509 -in cacert.csr -out cacert.cert -req -signkey cacert.key -days 365”。如果您遇到以下错误“无法写入‘随机状态’”。这是一个已知的错误 https://stackoverflow.com/a/3058123/999205!要解决此问题,请调用“set RANDFILE=.rnd”并重试上一个命令。

恭喜您现在是自签名证书的所有者!

我已经根据此放置了构建的文件(它们当前位于 bin 文件夹中)Site http://www.phpjoel.com/2011/04/07/installing-ssl-using-openssl-on-a-wamp-localhost/:

  • cacert.pem、cacert.key 位于 C:\wamp\bin\apache\apache#.#.#\conf\demoCA\private
  • cacert.cert、cacert.csr 位于 C:\wamp\bin\apache\apache#.#.#\conf\demoCA\certs

在 httpd.conf 中启用 SLL(搜索“#Ininclude conf/extra/httpd-ssl.conf”)+更改 httpd-ssl.conf 中的以下条目:

SSLSessionCache        "shmcb:C:/wamp/logs/ssl_scache(512000)"
DocumentRoot "C:/wamp/www"
#ErrorLog
#TransferLog
SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/demoCA/certs/cacert.cert"
SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/demoCA/private/cacert.key"
CustomLog "C:/wamp/logs/ssl_request.log" \

现在通过调用 httpd -t 测试您的 Apache 安装。 如果您收到以下错误“SSLSessionCache:不支持'shmcb'会话缓存(已知名称:)。也许您需要加载适当的socache模块(mod_socache_shmcb?)。”在 httpd.conf 中启用以下条目“LoadModule socache_shmcb_modulemodules/mod_socache_shmcb.so”

Wamp 现在配置了 https 支持:-)

我还使用 httpd.conf 中的以下配置启用了“LoadModule status_modulemodules/mod_status.so”:

<IfModule status_module>

ExtendedStatus On
<Location /server-status>
    SetHandler server-status
</Location>

</IfModule>

您现在可以在这里检查您的服务器状态

https://localhost/server-status/

Apache/2.4.9 (Win64) OpenSSL/1.0.1g PHP/5.5.12 服务器位于本地主机端口 443

Notes:

  • 我在尝试让它在我的机器上工作时做了这个教程(这是我第一次尝试在 windows/wamp 上使用 OpenSSL)。
  • 本指南不适用于生产系统!
  • 您可能需要根据您的 openssl.cnf 更改一些内容,例如名称
  • 我的目的不是制作最好的教程,而是简单地记下使 SSL 在 WAMP 中工作所需的所有更改。
  • 确保为您的 x509 证书设置正确的天数
  • 我终于知道为什么 NSA 可以通过如此复杂的过程轻松侵入服务器了:D
  • 由于 Wamp 将 apache 与 OpenSSL 捆绑在一起,因此单独安装它可能会更好?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何安装:OpenSSL + WAMP 的相关文章

  • SSL 到底如何工作?

    SSL 是如何工作的 证书安装在客户端 或浏览器 和服务器 或Web服务器 的哪里 当您在浏览器中输入 URL 并从服务器获取页面时 信任 加密 身份验证过程如何启动 HTTPS协议如何识别证书 当证书负责所有信任 加密 身份验证工作时 为
  • 以编程方式验证 X509 证书和私钥匹配

    我使用以下命令创建了 RSA 密钥对EVP aes 256 cbc 密码 私钥采用 PEM 编码并具有密码 这需要用户输入密码 这是创建私钥的调用 Save private key bio priv BIO new file full as
  • 在node.js中使用socket.io设置服务器-服务器SSL通信

    我正在尝试使用 socket io 通过 ssl 连接来设置服务器到服务器的链接 这是我的例子 Server var app require express var config require config var https requi
  • tomcat 7 + ssl 不工作 - ERR_SSL_VERSION_OR_CIPHER_MISMATCH

    Ubuntu 14 tomcat 7 java 7 our crt our key 和 gd bundle g2 g1 crt 由 godaddy 提供 该捆绑包中有 3 个证书 通过查看文件可以看出 请注意 我们的密钥和 crt 在 no
  • 以编程方式将 PEM 证书导入 Java KeyStore

    我有一个由两个文件 crt 和 key 组成的客户端证书 我希望将其导入到 java KeyStore 中 然后在 SSLContext 中使用 以通过 Apache 的 HTTPClient 发送 HTTP 请求 但是 我似乎找不到一种以
  • NGINX 上的 SSL 终止

    我已经购买了 SSL 证书 并在验证模数时正确地将其捆绑在一起 即https kb wisc edu middleware 4064 https kb wisc edu middleware 4064 那么哈希值是相同的 我已将证书和密钥移
  • Elastic Beanstalk 添加多个 ssl 证书

    我有一个 Docker Django api 应用程序 可以从多个域 abc xyx com 或 def lmn com 调用 我已从 Elastic beanstalk 中的配置控制台成功添加了 abc xyz com 的 ssl 证书
  • mysql jdbc 与 SSL 连接在 tls 握手级别失败

    我们的 mysql 服务器配置为仅接受与 ssl 密码 DHE RSA AES256 GCM SHA384 的连接 我正在使用 java mysql connector java 8 0 15 和 java 8 openjdk 版本 1 8
  • AWS EC2 应用程序负载均衡器 + 双向 SSL?

    是否可以使用 AWS Application Load Balancer 并使用双向 ssl 客户端证书 我当前的设置使用经典的 ELB 通过 tcp 转发到 Web 服务器端点来支持此操作 我现在需要使用 URL 路由流量 并希望在可能的
  • SSL如何使用对称和非对称加密?如何管理一台主机上多个站点的认证? [复制]

    这个问题在这里已经有答案了 首先 引用微软TechNet的一些内容管理 Microsoft 证书服务和 SSL http technet microsoft com en us library bb727098 aspx 回顾一下 安全 S
  • SSL_connect 返回=1 errno=0 状态=SSLv3 读取服务器证书 B:证书验证仅在代理时失败

    这篇文章几乎重复了许多其他帖子 包括Rails 4 和 Ruby 2 Net HTTP SSL 请求 OpenSSL SSL SSLError SSL connect returned 1 errno 0 state SSLv2 v3 re
  • OpenSSL DH 密钥太小错误

    我正在尝试使用简单的 PERL 脚本连接到封闭的服务器 空调 usr bin perl use 5 10 1 use warnings use strict use IO Socket SSL use IO Socket SSL qw de
  • 如何将域添加到 aws 上的现有 SSL 证书

    我有一个与 Amazon Web Services 上的负载均衡器关联的 SSL 证书 我想在该证书上有一个额外的域 我的问题是 是否可以向 aws 上现有的 ssl 证书添加额外的域 我发现您可以在创建证书时添加其他名称 但我不知道如何使
  • 使用仅具有 CA 证书且无密钥库的 SSLContext

    我需要设置一个javax net ssl SSLContext用于 Jersey Client 应用程序 我想要做的就是接受自定义根 ca 证书的上下文 真的没有办法生成密钥库文件并导入 CA 证书吗 确实没有办法生成密钥库 文件并导入CA
  • 在 apache 上托管多个 SSL 证书

    我希望有人能帮我解决这个问题 我有 2 个 IP 可用于执行此操作 并且需要在同一台 Apache 服务器上托管 2 个不同的安全 SSL 域 我已经读到 从 Apache 2 2 开始 可以使用某种插件来使用单个 IP 但我希望保持尽可能
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou
  • 为arm64或arm7s编译OpenSSL FIPS功能库时出现未知的cpu类型

    我可以成功 至少没有警告并生成 a 文件 针对 arm7 x86 64 和 i386 进行编译 当我编译arm64时 我得到Unknown cpu type 100000c no adjustments made 当我编译arm7s时 我得
  • 在 Visual Studio 中设置 SSL 证书

    我在新计算机上全新安装了 Visual Studio Community 2019 我启动了一个网络应用程序项目 第一次运行它 然后当提示接受自签名证书时 我以某种方式设法单击 不再询问 and No 此时 运行网络应用程序时 我收到 ER
  • 如何在 iOS 上固定证书的公钥

    在提高我们正在开发的 iOS 应用程序的安全性时 我们发现需要对服务器的 SSL 证书 全部或部分 进行 PIN 操作以防止中间人攻击 尽管有多种方法可以做到这一点 但当您搜索此内容时 我只找到了固定整个证书的示例 这种做法会带来一个问题
  • IIS 8 HTTPS/需要 SSL 导致超时错误

    尝试通过 IIS 8 通过 SSL 发布网站 但出现超时错误 任何帮助表示赞赏 采取的步骤 已验证该网站可以通过 HTTP 访问 http xxx xxx xxx xxx有效 此时使用 IP 地址 如果重要的话 IIS gt 服务器证书 g

随机推荐

  • ColdFusion 变量竞争条件?

    我需要一些帮助来确定为什么这个特定的代码在极少数情况下会产生竞争条件 我找到了一个解决方案 我也会概述它 但我真的很想理解它 我们有一个基于 CMS 的系统 由许多松散地基于保险丝盒模型的模块组成 一切都通过单个index cfm 运行 在
  • 为 docker 容器提供可路由的 IP 地址

    我在 ubuntu 14 04 上运行它并且已经设置docker0到静态 IP 然后通过防火墙从公共 IP 路由到该静态 IP 我正在尝试将后端 API 设置为在 docker 容器中运行 但对一些事情感到困惑 1 我将如何映射docker
  • 了解 C++ 中随机数生成器的种子是什么

    我有一个非托管 C 控制台应用程序 其中使用 srand 和 rand 我不需要这个来解决特定问题 但很好奇 传递给 srand 的原始种子是否存储在我可以查询的内存中的某个位置 有什么办法可以知道种子是什么吗 不需要存储种子 只需要存储最
  • Vuetify 中的颜色主题更改不起作用

    我将 vuejs 与 vuetify 一起使用 我放置了基本 vuetify 模板并尝试更改颜色主题 但颜色不会切换 我的控制台中没有出现任何错误 并且我的缓存也被清除 main js代码 import Vue from vue impor
  • VM 快照期间 BizTalk 与 SQL 的连接问题

    我们有一个用于 BizTalk 的虚拟机和一个用于 SQL 后端的单独虚拟机 我们使用 Veeam 进行备份 这基本上会启动虚拟机的快照 当此快照在 SQL VM 上最终确定时 应用程序服务器上的 BizTalk 服务将失败 通常它们会自动
  • 检测是否开启“蓝牙扫描”定位

    从 Android M 开始 如果您启用了蓝牙设备 即使全球定位已关闭 也可以在后台扫描蓝牙设备 蓝牙扫描位置设置中的选项 参见屏幕截图 为了扫描 BLE 设备 必须满足以下条件 COARSE LOCATION or FINE LOCATI
  • 使用 C# 将布尔数组转换为字符串

    我有一个看起来像这样的数组 status 0 true status 1 true status 2 false status 3 true 实际上它更大 但仍然小于 20 我需要将其转换为 ABD 其中每个 true 代表字母表中的一个有
  • 使用芯片输入选择不显示所选值

    我有一个选择 输入采用芯片格式 我尝试了所选值的控制台日志 效果很好 但由于某种原因 它没有显示在选择框中 我在这里做错了什么 handleChange event gt this setState badge event target v
  • Spring Boot中事务同步与Database+kafka示例

    我想使用 Spring boot 编写一个新应用程序 使用 MySQL Mango 数据库和 Spring Kafka 进行消息传递 我尝试使用 Many POC 来同步 Kafka 和 DB 之间的事务 但在某些情况下失败了 并且我还搜索
  • 如何访问 CGContext 以在屏幕外创建 CGLayer

    意图 创造CGLayer在屏幕外 从第二个线程在其上绘制一些复杂的东西 稍后使用它在主线程上快速绘制 Problem CGLayerCreateWithContext context size info 期望已经存在的CGContext这样
  • 如何在 ASP.net IIS 7.5 中利用浏览器缓存

    以下可缓存资源的新鲜生命周期较短 指定以下资源至少在未来一周内到期 http pagespeed googlelabs com http pagespeed googlelabs com建议我将此作为我的网站的高度优先事项 我正在使用 Wi
  • 用于 GUI 的 Java 2D 场景图形库

    我正在寻找用于构建 GUI 应用程序的 2D 场景图形库 它应该很快 使用 Java2D 并与 Swing 兼容 可嵌入 Swing 应用程序并显示 Swing 组件 对动画的支持是一个优点 您有使用某些图书馆的经验吗 有没有我错过的图书馆
  • Numpy 图像数组:如何有效地从 RGB 切换到 Hex

    我一直在使用嵌套 for 循环将 RGB 图像转换为十六进制值的图像数组 但对于大图像来说太慢了 有谁知道可以帮助我从 RGB 切换回 HEX 的快速方法和 或库 编辑 ragingSloth 这是我想出的 但对于我的需要来说太慢了 def
  • 如何在 Travis CI 上安装某些东西而不超时?

    我正在尝试测试 travis ci org 上构建的包 但 pip install scipy 遇到超时 Installing collected packages scipy Running setup py install for sc
  • 如何从 Excel 单元格获取完整值,而不是显示的(四舍五入)值?

    我在从工作表的单元格检索确切值时遇到问题 如果我打开文件 单元格有一个十进制数 仅显示 4 位小数 但如果我单击特定单元格 则该值会不同 有 6 位小数 我知道这是应用于单元格的设置 以便仅显示 4 位小数 现在我尝试使用 ClosedXM
  • WPF中如何移动焦点?

    我想知道是否有办法将焦点从当前控件移至 WPF 中 TabIndex 分配的控件上的其他控件 例子 我有 TabIndex 1 到 5 的控件 有没有办法将焦点从 1 跳转到 5
  • 从 C# 类设置 Gridview“标题”的样式

    我正在尝试在 C 文件中设置 ASP Net GridView 标题的样式 这是我返回样式化 GridView 的方法 private GridView setupGridView string caption var gview new
  • 检查context.Request.Body的条件是azure api管理策略中的JArray或JObject

    我正在使用 Azure API 管理策略表达式将供应商值发送到每个帖子 对后端 API 的放置和删除请求 我编写了一个代码 当请求类型为 JObject 时 该代码工作正常 但我有一些请求可以是 JArray 类型的情况 在这种情况下它会抛
  • 如何在IIS7中禁用应用程序池空闲超时?

    如果我将空闲超时设置为0 它会被禁用吗 是的 将空闲超时值设置为零将禁用空闲超时 奇怪的是 这没有记录在 MS 文档中 但我的证据来自 IIS 设置架构 如果您查看了 IIS 设置架构 C Windows System32 inetsrv
  • 如何安装:OpenSSL + WAMP

    这里有人有关于如何在我的本地开发计算机上获取 SSL 的清晰详细的步骤吗 我已在 c wamp 上安装了最新版本的 WAMP 2 2c 我在网上找到的说明在大多数情况下似乎已经过时 并且缺乏正确完成工作所需的详细信息 指南 WampServ