DartVM服务器开发(二十)-jaguar配置HTTPS

今天,我们来学习一下如何生成HTTPS安全证书以及使用Jaguar配置HTTPS!

1.自签名安全证书

生成自签名安全证书可以分为以下三个步骤:

  • 创建RSA私钥和公钥对
  • 创建证书签名请求(CSR)
  • 创建证书

配置HTTPS证书需要两个文件

  • RSA密钥(keys.pem)
  • 证书(certificate.pem)

生成RSA密钥对

以下命令生成2048位RSA密钥对,并将它们放入名为keys.pem的文件中。

1
openssl genpkey -algorithm RSA -out keys.pem -pkeyopt rsa_keygen_bits:2048

创建CSR

以下命令创建CSR。在提示中提供适当的详细信息。

1
openssl req -new -key keys.pem -out csr.csr

生成证书

以下命令将创建证书certificate.pem。

1
openssl x509 -req -sha256 -days 365 -in csr.csr -signkey keys.pem -out certificate.pem

上面的步骤就是生成自签名证书了,下面,我们将证书导入到项目里面

2. 导入签名证书

我们可以在项目里面的bin文件夹下面创建一个文件夹叫做ssl
分别将上面生成的秘钥跟证书放到这个文件夹下面
image.png
然后我们可以在main.dart文件中添加下面代码

1
2
3
4
5
6
7
8
SecurityContext securityContext=new SecurityContext()
..useCertificateChain("bin/ssl/certificate.pem")
..usePrivateKey("bin/ssl/keys.pem");
main() {
new Jaguar(
securityContext: securityContext,
)
}

这样,我们就可以通过https访问我们的地址了,那么我们现在可以启动服务器了,
然后输入https://localhost:8080
image.png
因为我们是通过自己给自己颁发的证书,所以,互联网上面是不认可的,浏览器会提示不是私密连接,我们可以点击下面的继续前往
image.png
ok,可以看到我们是能够访问到了。如果你需要被认可,可以到阿里云ssl证书找找看,因为我申请的域名还没有通过,所以这里先搁置一下,后续或许会继续更新该编文章
那么,今天就到这里了,我们明天见!

评论系统未开启,无法评论!