我是证书界的新手。我决定创建一个必须使用证书来访问 API 的应用程序。
我创建了一个自签名 CA 证书、SSL 证书和一个客户端证书。我将它们导入 Windows Server 并正确配置 IIS。我可以使用 clientcertificate.pfx 文件从浏览器 (Google Chrome) 向 API 发出请求。 pfx 证书通过 MMC 导入到个人用户存储。为了创建 pfx 文件,我使用了 .cert 和 .pvk 文件。
到目前为止一切顺利。
现在我正尝试从 dart 发出请求,但不知道应该向 API 发送哪些文件。 我应该发送 pfx 文件吗?或者可能是 .cert 和 .pvk 文件? 伙计们,你们做过吗?有人可以帮助我理解这个过程吗? 我已经阅读了很多网站,但仍然没有找到答案。 在移动开发领域,我也是全新的。
最佳答案
Dart 的 HttpClient
可以接受一个 SecurityContext
。
To add a custom trusted certificate authority, or to send a client certificate to servers that request one, pass a SecurityContext object as the optional
context
argument to the HttpClient constructor. The desired security options can be set on the SecurityContext object.
将您的 PKCS12 客户端 keystore (pfx 文件)存储在您的应用中的某处,可能作为 Assets ,并在启动时加载它。创建一个 SecurityContext
,然后调用 useCertificateChainBytes
和 usePrivateKeyBytes
,将相同的值传递给两者(pfx 文件的内容和密码)。
使用 SecurityContext
作为 HttpClient
的 context
。
关于dart - Flutter/Dart语言客户端证书认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52355264/