Flutter / Dart语言中的客户端证书身份验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter / Dart语言中的客户端证书身份验证相关的知识,希望对你有一定的参考价值。

我在证书世界里相当新。我决定创建一个有义务使用证书来访问API的应用程序。

我创建了自签名CA证书,SSL证书和客户端证书。我将它们导入Windows Server并正确配置了IIS。我可以使用clientcertificate.pfx文件向浏览器(Google Chrome)发送API请求。 pfx证书通过MMC导入个人用户存储。要创建pfx文件,我使用了.cert和.pvk文件。

到现在为止还挺好。

现在我试图从dart发出请求,不知道我应该向API发送什么文件。我应该发送pfx文件吗?或者.cert和.pvk文件?你有没有做过这些人?有人能帮助我理解这个过程吗?我已经阅读了很多网站,但仍然没有找到答案。在移动开发领域,我也是全新的。

答案

Dart的HttpClient可以采取SecurityContext

要添加自定义受信任的证书颁发机构,或将客户端证书发送到请求它的服务器,请将SecurityContext对象作为可选的context参数传递给HttpClient构造函数。可以在SecurityContext对象上设置所需的安全选项。

将PKCS12客户端密钥库(pfx文件)存储在应用程序中的某个位置(可能作为资产),并在启动时加载它。创建一个SecurityContext然后调用useCertificateChainBytesusePrivateKeyBytes将相同的值传递给两者(pfx文件的内容和密码)。

使用SecurityContext作为你的contextHttpClient

以上是关于Flutter / Dart语言中的客户端证书身份验证的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:2018 再见,2019 你好

为什么Flutter会选择 Dart ?

Flutter必备语言Dart教程03 - 类,泛型

Flutter为何会选用Dart?

Flutter入门Dart语言:简单易懂的变量指南

flutter Dart语言List如何获取索引值