创建反应应用程序:HTTPS和自签名证书 [英] Create React App: HTTPS and self signed certificate

查看:31
本文介绍了创建反应应用程序:HTTPS和自签名证书的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试以HTTPS模式运行使用Create-Reaction-App模板创建的Reaction应用程序:

set SSL_CRT_FILE=.cert/server.pfx&&set HTTPS=true&&npm start

我使用Power Shell创建了此证书。尽管有很多解释如何使用OpenSSL创建的证书来运行Reaction应用程序,但这对我来说不是一个选择,因为我不允许在我的机器上安装OpenSSL。

证书创建:

$cert = New-SelfSignedCertificate -CertStoreLocation Cert:LocalMachineMy -DnsName "localhost" -FriendlyName "MyCert" -NotAfter (Get-Date).AddYears(10)
$pwd = ConvertTo-SecureString -String `my_password' -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath C:my_react_app.certserver.pfx -Password $pwd
然后,我将该证书导入到个人证书,并将其复制到受信任的根证书颁发机构。但是当我在浏览器中打开项目时,我看到NET::ERR_CERT_AUTHORITY_INVALID

我做错了什么?

附注

导出为.erce文件也不起作用:

Export-Certificate -Cert $cert -FilePath C:my_react_app.certserver.cer

推荐答案

PowerShell中的以下命令(以管理员身份运行)将创建根证书及其关联的受信任证书:

1.我们创建新的受信任根证书:

$rootCert = New-SelfSignedCertificate -Subject 'CN=TestRootCA,O=TestRootCA,OU=TestRootCA' -KeyExportPolicy Exportable -KeyUsage CertSign,CRLSign,DigitalSignature -KeyLength 2048 -KeyUsageProperty All -KeyAlgorithm 'RSA' -HashAlgorithm 'SHA256'  -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider'

2.我们从受信任的根证书链创建证书:

New-SelfSignedCertificate -DnsName "localhost" -FriendlyName "MyCert" -CertStoreLocation "cert:LocalMachineMy" -Signer $rootCert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1") -Provider "Microsoft Strong Cryptographic Provider" -HashAlgorithm "SHA256" -NotAfter (Get-Date).AddYears(10)

3.我们复制最后一个命令返回的指纹

4.(如有必要)我们删除最后一个关联IP/端口/证书:

netsh http delete sslcert ipport=0.0.0.0:3002

5.我们将新证书与任何IP和您的端口关联,例如3002(AppID值无关紧要,是任何有效的GUID):

netsh http add sslcert ipport=0.0.0.0:3002 appid='{214124cd-d05b-4309-9af9-9caa44b2b74a}' certhash=here_the_copied_thumbprint

6.现在,您必须将TestRootCAPersonal/Certificates文件夹拖放到Trusted Root Certification Authorities/Certificates

这些命令还解决了Google Chrome后来返回的错误ERR_CERT_WEAK_SIGNATURE_ALGORITHM,因为证书是使用SHA256而不是SHA1创建的

这篇关于创建反应应用程序:HTTPS和自签名证书的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆