ssl - 如何设置 Dart 以使用 CA SSL 证书?

标签 ssl https dart ca

我最近部署了一个为 HTTP 请求提供服务的 Dart 服务器应用程序。我想添加对 HTTPS 的支持,所以我一直在尝试将 SSL 添加到 Dart 服务器应用程序。

This answer清楚地解释了如何向 Dart 添加自签名 SSL 证书。但是,我想添加从 SSL 提供商处购买的 SSL 证书。

SSL 提供商通过电子邮件发送了我的 4 个文件:

  • 根 CA 证书 - AddTrustExternalCARoot.crt
  • 中级 CA 证书 - COMODORSAAddTrustCA.crt
  • 中级 CA 证书 - COMODORSADomainValidationSecureServerCA.crt
  • 您的 PositiveSSL 证书 - my_domain.crt

我一直在努力弄清楚 certutil 是如何工作的,以及如何将这些证书添加到证书数据库中,但我就是想不通。

有人有在 Dart 中启用 CA SSL 证书的经验吗?

已解决:感谢评论中的建议,我解决了这个问题。这是我完整设置的要点:https://gist.github.com/stevenroose/e6abde14258971eae982

最佳答案

首先,您可能已经使用 openssl 为您的私钥、服务器证书和 CA 证书生成了三个文件。要将所有这些转换为 PKCS12 文件,您可以使用 openssl:

openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile CAcert.crt

然后,您可以调整所示的 certutil 命令以加载 PKCS12 而不是生成新证书:

certutil -N -d sql:certdb
certutil -A -n mycertnick -i server.crt -t "TCu,Cu,Tuw" -d sql:certdb
certutil -A -n myCA -i CAcert.crt -t "TCu,Cu,Tuw" -d sql:certdb
pk12util -i server.p12 -d sql:certdb

它似乎适用于所引用问题中的示例代码。

关于ssl - 如何设置 Dart 以使用 CA SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27161403/

相关文章:

Delphi 6 和 Indy SSL 连接不工作

c# - HttpWebRequest:请求已中止:无法创建 SSL/TLS 安全通道

python - Flask SSL 接收垃圾请求

Python 请求 SSL 错误 [SSL : UNKNOWN_PROTOCOL] while getting https://www. nfm.com

dart - 如何将 FutureBuilder<File> 转换为 BoxDecoraiton Image

firefox - 通过 HTTPS 的 Firefox 上的灰色三角形

php - 通过网络服务器运行时无法发送邮件,但能够使用相同的 php 脚本从命令行发送

dart - 无法在我的聚合物组件中查询选择器

android-studio - 如何在不使用Android Studio的情况下更改Flutter中的应用程序包名称?

windows - QWebSocketServer 不会接受来自 Windows Firefox 的 SSL 连接