创建反应应用程序:HTTPS和自签名证书 [英] Create React App: HTTPS and self signed certificate
本文介绍了创建反应应用程序: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.现在,您必须将TestRootCA
从Personal/Certificates
文件夹拖放到Trusted Root Certification Authorities/Certificates
。
这些命令还解决了Google Chrome后来返回的错误ERR_CERT_WEAK_SIGNATURE_ALGORITHM,因为证书是使用SHA256而不是SHA1创建的
这篇关于创建反应应用程序:HTTPS和自签名证书的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文