如何使用 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 创建和信任证书? 的相关文章

  • 如何使用PowerShell脚本远程启动/停止IIS 6.0/7.0?

    我有两台服务器服务器 A 和服务器 B 我想使用 Powershell 脚本从服务器 B 远程停止服务器 A 最简单的方法之一就是使用命令行执行PsExec http www microsoft com technet sysinterna
  • 发布到IIS,设置环境变量

    阅读这两个问题 答案 我能够在 IIS 8 5 服务器上运行 Asp net 5 应用程序 Asp net vNext 早期测试版发布到 Windows 服务器中的 IIS https stackoverflow com questions
  • Web 服务器是否可以向自身发出 HTTPS 请求?

    假设您有两个应用程序 A 和 B 在同一 Web 服务器上运行 您希望应用程序 A 通过 SSL 调用应用程序 B 上的 webService 是否可以使用类似的地址来做到这一点https localhost appsB webServic
  • IIS 未使用 PyISAPe 链接到 Django

    我正在尝试在基于 IIS 的服务器上使用 Django 运行网站 我遵循了主网站上的所有说明 http code djangoproject com wiki DjangoOnWindowsWithIISAndSQLServer http
  • 如何从Windows服务公开restful接口?

    我编写了一个公开restful接口的wcf服务 现在我使用iis作为wcf服务主机 除了暴露其余部分之外 我还需要对我的应用程序执行一些操作 为此 我必须将我的应用程序作为 Windows 服务运行 但是使用iis作为主机不会使我的wcf服
  • IIS7集成管道:maxConcurrentRequestsPerCPU和requestsQueueLimit设置之间的交互

    首先 这里对 IIS7 HTTP 请求生命周期以及影响性能的各种设置进行了很好的概述 IIS 7 0 和 6 0 上的 ASP NET 线程使用情况 http blogs msdn com b tmarq archive 2007 07 2
  • IIS 应用程序池 CLR v4.0 与无托管代码

    我目前正在开发一个使用 Net core 的应用程序 我在新应用程序池的 IIS 管理器上托管了很多微服务 我想知道应用程序池版本 而不是最新的 NET CLR v4 0 是否有任何优势 可以不使用托管代码 我听说没有托管代码选项可以获得更
  • PowerShell:检索AppPool中的应用程序数量

    如何通过 PowerShell 命令检索与特定 IIS AppPool 关联的应用程序数量 我们可以使用以下命令手动查看关联的应用程序 Get Item IIS AppPools AppPoolName 但是 如果我们想要手动选择Appli
  • ASP.Net 使用状态服务器和缓存增加 MaxProcesses(网络花园)

    我在 IIS7 上有一个 ASP Net 网站 我计划增加 MaxProcesses 以匹配服务器上的核心数量 4 核心 64 位 Windows Server 2008 根据我的阅读 如果我增加 MaxProcesses 来创建一个网络花
  • 静默地将 api 资源移动到另一个 url

    我已经用 WepApi 2 编写的 api 与主网站紧密结合 我决定将其与另一个网络应用程序解耦 以使事情更加隔离 我遵循了这样的步骤 将所有 API 控制器提取到另一个项目 创建属性以将当前使用旧 URL 的所有用户重定向到新 URL 由
  • VS 2012 启动时自动更新 IIS 路径

    我的雇主最近将我们从 VS 2010 升级到 VS 2012 这很棒 但有一个小烦恼 我希望这里有人可以提供帮助 在 VS 2010 中 当我切换分支时 它会询问我是否要更新 IIS 路径 类似于 port blah 的路径指向这里 您想更
  • cryptoTicket 参数的值无效

    我最近修改了我公司 eComm 站点的登录名 以具有 保持登录状态 功能 主要更改是使表单身份验证 cookie 对这些用户持久存在 更改发布后 我开始在日志中看到此异常 Invalid value for encryptedTicket
  • IIS7.5 WCF 服务 - HTTP 错误 401.3(即使在添加 IIS_IUSRS 后)

    我们有使用 NT Authority Network Service 的网站 Response Write WindowsIdentity GetCurrent Name 该网站使用托管在 IIS 7 5 中的 WCF 服务 当我们浏览服务
  • PerformanceCounter.NextValue() 抛出 InvalidOperationException

    这是创建性能计数器的代码 var ftpPerfCounter new PerformanceCounter FTP Service Current Connections Total 这是异常发生的地方 int cnt int Math
  • 如何跟踪我的 Web 服务抛出的 IIS 500 错误

    我已经部署了新版本的 ASP NET Web 服务 当客户端调用此服务时 IIS 日志文件报告错误代码 500 我自己 测试 可以使用该服务 没有任何错误 我在 ASP NET Web 服务中启用了错误日志记录 但没有记录任何错误 这使我相
  • IIS 是否为每个连接的用户提供一个线程?

    我正在做一些关于开发线程安全应用程序的研究 我知道用户可以在同一应用程序上使用多个线程 如果 CPU 使用多个线程 但我不确定会发生什么 以及当您有 5 个用户使用同一应用程序时 IIS 如何处理用户 IIS 是做什么的 所有用户都在同一个
  • 致命:Jenkins IIS ID 无效

    我正在尝试设置 Jenkins 从 bitbucket 中提取并构建一个项目 我在 IIS 8 5 Server 2012 r2 上使用它 我已经设置了 Git 和 Bitbucket 插件 我已经建立了一个包含以下内容的项目 Branch
  • 尽管安装了 AspNetCoreModule,但在 IIS 中运行 ASP.NET Core 应用程序时出现错误 500.19 和 0x8007000d

    我有一个在 IIS Express 中运行良好的 ASP NET Core 应用程序 同样 如果我通过命令行启动应用程序dotnet run 一切顺利 C Code Sandbox IisTestApp IisTestApp gt dotn
  • System.Web.UI.ViewStateException:无效的视图状态

    我有一个用 ASP net 和 C 开发的 Web 应用程序 我还使用 Telerik ASP NET AJAX 作为 Web UI 应用程序抛出异常 System Web UI ViewStateException Invalid vie
  • ASP.net MVC 项目无法在 IIS 上编译

    我以前只是将 ASP NET 网站上传到实时服务器 IIS 会自动编译它们 但是 当我对 asp net MVC 项目执行相同操作时 我只是收到错误 并且我需要在上传项目之前发布 构建 项目 注意1 我使用的是VWD 2008 Expres

随机推荐