Flutter / Dart语言中的客户端证书身份验证
我在证书世界中还很陌生。我决定创建一个应用程序,该应用程序必须使用证书来访问API。
我创建了一个自签名的CA证书,SSL证书和一个客户端证书。我将它们导入Windows
Server并正确配置了IIS。我可以通过clientcertificate.pfx文件向浏览器(Google
Chrome)发出请求。pfx证书通过MMC导入到个人用户存储中。为了创建pfx文件,我使用了.cert和.pvk文件。
到目前为止,一切都很好。
现在,我试图从dart发出请求,但不知道应该将哪些文件发送到API。我应该发送pfx文件吗?还是.cert和.pvk文件?你们有做过吗?有人可以帮助我了解一下此过程吗?我已经阅读了很多网站,但仍然找不到答案。在移动开发世界中,我也是全新的。
回答:
飞镖HttpClient
可以取一个SecurityContext
。
若要添加自定义的受信任证书颁发机构,或向 请求证书的服务器发送客户端证书 , 请将
SecurityContext对象作为可选
context
参数传递给HttpClient构造函数。可以在SecurityContext对象上设置所需的安全选项。
将您的PKCS12客户端密钥库(pfx文件)存储在应用程序中的某处(可能作为资产),并在启动时加载它。创建一个SecurityContext
,然后调用两者useCertificateChainBytes
,usePrivateKeyBytes
并将相同的值传递给两者(pfx文件的内容和密码)。
使用它SecurityContext
作为context
您的HttpClient
。
以上是 Flutter / Dart语言中的客户端证书身份验证 的全部内容, 来源链接: utcz.com/qa/400760.html