今天,我们来学习一下如何生成HTTPS安全证书以及使用Jaguar配置HTTPS!
1.自签名安全证书
生成自签名安全证书可以分为以下三个步骤:
- 创建RSA私钥和公钥对
- 创建证书签名请求(CSR)
- 创建证书
配置HTTPS证书需要两个文件
- RSA密钥(keys.pem)
- 证书(certificate.pem)
生成RSA密钥对
以下命令生成2048位RSA密钥对,并将它们放入名为keys.pem的文件中。
openssl genpkey -algorithm RSA -out keys.pem -pkeyopt rsa_keygen_bits:2048
创建CSR
以下命令创建CSR。在提示中提供适当的详细信息。
openssl req -new -key keys.pem -out csr.csr
生成证书
以下命令将创建证书certificate.pem。
openssl x509 -req -sha256 -days 365 -in csr.csr -signkey keys.pem -out certificate.pem
上面的步骤就是生成自签名证书了,下面,我们将证书导入到项目里面
2. 导入签名证书
我们可以在项目里面的bin文件夹下面创建一个文件夹叫做ssl
分别将上面生成的秘钥跟证书放到这个文件夹下面
然后我们可以在
main.dart
文件中添加下面代码
SecurityContext securityContext=new SecurityContext()
..useCertificateChain("bin/ssl/certificate.pem")
..usePrivateKey("bin/ssl/keys.pem");
main() {
new Jaguar(
securityContext: securityContext,
)
}
这样,我们就可以通过https访问我们的地址了,那么我们现在可以启动服务器了,
然后输入https://localhost:8080
因为我们是通过自己给自己颁发的证书,所以,互联网上面是不认可的,浏览器会提示不是私密连接,我们可以点击下面的继续前往
ok,可以看到我们是能够访问到了。如果你需要被认可,可以到阿里云ssl证书找找看,因为我申请的域名还没有通过,所以这里先搁置一下,后续或许会继续更新该编文章
那么,今天就到这里了,我们明天见!
如果想继续学习DartVM服务器开发,请关注我,学习更多骚操作!