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

问题描述 投票:0回答:1

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

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

到现在为止还挺好。

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

dart certificate flutter x509certificate client-certificates
1个回答
2
投票

Dart的HttpClient可以采取SecurityContext

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

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

使用SecurityContext作为你的contextHttpClient

© www.soinside.com 2019 - 2024. All rights reserved.