如何使用 OpenSSL 创建和信任证书?

2024-01-09

如何使用 OpenSSL 创建有效的证书以在 IIS 中使用 HTTPS 绑定?

它必须在 Firefox 和所有其他浏览器中工作 我使用的是 IIS 10 服务器。
And Firefox v70, 火狐开发者v72b5版本,Chrome v79, Edgev44。我想要HTTPS绑定在所有这些浏览器中工作。


好的。我想我找到了答案

必须创建一个认证机构才能使用HTTPS具有约束力,我们所有的证书都将由此签署。为此,下载合适的版本OpenSSL从这里:适用于 Windows 的 Win32/Win64 OpenSSL 安装程序 http://slproweb.com/products/Win32OpenSSL.html并安装它。然后,为了快速、轻松地工作,可以制作一些脚本文件,

在文件夹(运行脚本的文件夹)中添加一个名为的文件夹#。所有证书文件都将存储在那里。

用于创建根证书RootCA.bat,

openssl genrsa -des3 -out #/RootCA.key 4096
openssl req -x509 -new -nodes -sha256 -days 730 -key #/RootCA.key -out #/RootCA.crt -config rootca.csr
openssl pkcs12 -export -out #/RootCA.p12 -inkey #/RootCA.key -in #/RootCA.crt
openssl pkcs12 -export -out #/RootCA.pem -inkey #/RootCA.key -in #/RootCA.crt
openssl pkcs12 -export -out #/RootCA.pfx -inkey #/RootCA.key -in #/RootCA.crt

并且,对于RootCA的细节创造RootCa.csr,

[req]
default_bits = 4096
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C=US
ST=New York
L=Rochester
O=Developer
OU=CodeSigner
CN=*.codesigning.in

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = *.codesigning.in

当你跑步时RootCA.bat它将使用创建一个证书RootCa.csr的详细信息并导出.pem, .pfx and .p12连同证书文件(aRootCA.csr并且还创建了“RootCA.key”)。

现在,为服务器证书创建server.bat,

openssl req -new -sha256 -nodes -out #/server.csr -newkey rsa:2048 -keyout #/server.key -config server.csr
openssl x509 -req -in #/server.csr -CA #/RootCA.crt -CAkey #/RootCA.key -CAcreateserial -out #/server.crt -days 365 -sha256 -extfile v3.ext
openssl pkcs12 -export -out #/server.p12 -inkey #/server.key -in #/server.crt -chain -CAfile #/RootCA.crt
openssl pkcs12 -export -out #/server.pem -inkey #/server.key -in #/server.crt -chain -CAfile #/RootCA.crt
openssl pkcs12 -export -out #/server.pfx -inkey #/server.key -in #/server.crt -chain -CAfile #/RootCA.crt

并且,当然,对于详细信息,创建一个server.csr file,

[req]
default_bits = 4096
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C=US
ST=New York
L=Rochester
O=Developer
OU=Test & Learn
CN=*.localhost.in

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = *.localhost.in

并且,另一个名为v3.ext(我不太了解),

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = *.localhost.in

当你跑步时再次server.bat它将使用创建一个证书server.csr的详细信息并导出.pem, .pfx and .p12连同证书文件(aserver.csr and server.key也被创建)。

注意:您必须修改server.csr为您的自定义域(默认情况下,它将创建dev.localhost.in领域)。

!!!警告:您必须记住您输入的密码。你可能会修改RootCA.csr and RootCA.bat根据您的需要。 (增加有效期、修改详细信息等)

添加到Windows,

由于我使用 Windows,我只知道导入到 Windows。要在窗口中添加,只需单击RootCA.p12文件并导入它。请记住,您必须相信RootCA in 受信任的根证书颁发机构 And in 中级认证机构.

除 Firefox 之外的所有浏览器都会信任该站点。工作完成(部分)!

您可以使用检查它mmc在奔跑中。然后使用管理单元证书Ctrl + M.

添加到FireFox,

Because FireFox uses it own Certificate Managers and doesn't pay any heed to systems certificates. So, You will have to manually have to import the RootCA.crt for trust And all the inheriting certificates will be trusted. As Follows, Des Des

现在,导入证书并简单地添加与证书的 HTTPS 绑定并使用任何服务器(甚至 IIS 等)托管网站。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 OpenSSL 创建和信任证书? 的相关文章

  • PHP 和 ASP.Net 可以在 IIS 7.5 中的同一网站中一起运行吗?

    我们网站的一部分是用 PHP 完成的 而我们网站的一部分是用 ASP Net 完成的 我们刚刚使用 Windows Server 2008 R2 设置了一个新的 Web 服务器 其中安装了 IIS 7 5 我知道 IIS 7 支持 PHP
  • IIS 7.5 中未显示 ASP.NET 功能

    我在 IIS 7 5 中遇到问题 其中 ASP NET 功能部分未显示在我的 Web 应用程序上 我的环境 Windows 2008 R2 SP1 IIS 7 5 7 5 7600 NET Framework 4 0 我的问题与此处发布的问
  • 尝试从 C# 服务查询 IIS 时出现异常

    我从使用 C 编写的 Windows 服务调用以下代码 try ServerManager m new ServerManager if m null SiteCollection sites m Sites I get exception
  • 严重: getRealPathFromConn 错误

    目前我正在调试我们的应用程序中一个看似随机的错误 我将尽力提供尽可能多的细节 基本上一段时间后 我们服务器上某个应用程序的应用程序池就会停止 我必须启动它 或者有时重新启动 Coldfusion 或更糟糕的是机器才能再次运行 服务器日志表明
  • 在没有 IIS 的计算机中打开设置为 IIS 目录的 Web 项目,指向嵌入式服务器

    我可以在TFS中打开一个Web项目 但是 在我的 QA 环境中 我必须将其更改为使用 IIS 在我的本地开发环境中 我没有IIS 无法安装它 新的公司规则拒绝我进行 QA 访问 并且我无法打开我的 Web 项目来在我的计算机中修复它 当我打
  • ASP.NET MVC运行IIS7部署问题

    我在将 ASP NET MVC 应用程序部署到 IIS7 时遇到问题 我有一个使用 ASP NET MVC Beta 1 创建的 MVC 项目 它仅包含未修改的默认模板 该应用程序在 VS2008 中运行得很好 但是当我将其发布到本地 II
  • 在 IIS URL 重写模块中自定义 HTTP 标头

    我被一个简单的出站规则困住了 我想修改HTTP内容类型 to 应用程序 原子 xml 如果 URL 完全匹配http wayneye com Feeds Atom http wayneye com Feeds Atom 我的规则 XML
  • ASP.NET IIS 7.5 HTTP 500.21 错误

    我在设置本地站点时遇到问题 该项目使用 ASP NET Framework 4 0 我的 DefaultAppPool 使用 4 0 并集成托管管道模式 这是我得到的错误 HTTP Error 500 21 Internal Server
  • IIS 如何识别请求的是哪个站点?

    如果我在一台服务器上托管多个站点 并且 dns 服务器将不同的域名解析到同一地址 这是服务器的名称 那么 IIS 如何知道最终请求的是哪个站点 因此 客户端输入我的 1 站点地址 gt myrandomsite mydomain com 然
  • 如何在 IIS 10 上禁用 HTTP/2

    IIS 10 声称完全支持 HTTP 2 我想知道是否有办法在 IIS 10 上关闭 HTTP 2 要在 Windows 10 HTTP SYS 上禁用 HTTP 2 请在 Windows 10 桌面上的 HKEY LOCAL MACHIN
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • 如何记录进入 IIS 的 HTTP 请求

    我在我的开发机器上运行 IIS 5 我有一个 asp net 3 5 Web 服务在其上运行 我从同一服务器上运行的不同 Web 应用程序调用该服务 我的服务返回错误 500 内部服务器错误 我正在对其进行故障排除 我的请求是通过Syste
  • 从 ASP .Net Web 服务访问 MSMQ 时出现权限错误

    我写了一个从消息队列读取的 Web 服务 这在卡西尼号下工作得很好 现在我已经在 IIS 下部署了该服务 当该服务尝试访问队列时 我收到一条错误消息 队列不存在或者您没有足够的权限来执行该操作 我已将 IIS 虚拟目录上的匿名访问用户设置为
  • .Net Web API 未找到与请求 URI 匹配的 HTTP 资源

    我正在开发 Net Web API 它在调试和本地主机 IIS 上都运行良好 但是当我将其发布到服务器时 它开始给出以下错误 Message 未找到与请求 URI 匹配的 HTTP 资源 在服务器上 我们在该 API 的默认站点下有应用程序
  • 64 位 ASP.NET MVC 应用程序无法运行

    首先 我之前曾设法让我的一个 64 位测试 Web 应用程序在这台机器上运行 当我为这个项目制作原型时 我已经在 32 位环境中工作了几周 意识到我需要将应用程序切换到 64 位 当我这样做 在项目中将目标平台设置为 x64 并重新部署时
  • 如何强制网站的某些部分在 SSL 下浏览?

    我们网站上的某些部分或页面涉及敏感的用户或帐户信息 我想强制用户在 HTTPS 下浏览这些页面 而其他包含公共内容的页面应在 HTTP 下可用 我打算在 IIS 上安装 url Rewrite 模块并编写规则来实现此目的 我不知道如何在 w
  • IIS6 中是否有与 .htaccess 等效的基于文件的文件? (不是配置/插件)

    有很多similar对此有疑问 但它们似乎都涉及配置权限或安装插件 我正在寻找一种 愚蠢 的解决方案 即允许从源代码控制部署代码并自动访问某些被阻止的路径 而无需任何人配置服务器 我只需要目录和文件阻止 htaccess 没有其他功能 需要
  • SQL Server 登录错误:用户“NT AUTHORITY\SYSTEM”登录失败

    我创建了一个名为 schoolPool 的应用程序池并将其分配给我的 Web 应用程序 该池的标识已设置为 LocalSystem 当我尝试从应用程序内访问数据库 即打开 SQL 连接 时 我总是收到以下错误 Login failed fo
  • web.config 授权是否适用于 aspx 以外的文件?

    我有带有表单身份验证的 ASP NET 应用程序 它运行良好 但我有一个包含 olly txt 文件 无 aspx 文件 的目录 我希望用户不要访问该目录 或仅登录用户 我将 web config 添加到该目录
  • HTTP请求的内容长度>正文大小

    我正在管理一个网站 该网站过去几个月在使用 MVC 3 0 ASP net 构建的 IIS 7 5 上运行良好 当我们的 AJAX POST 请求 通过 jQuery 触发 因发布的 JSON 被截断而失败时 我们时不时地会遇到一个问题 到

随机推荐