Flutter/Dart 语言的客户端证书身份验证
Client certificate authentication in Flutter/Dart languege
我是证书界的新手。我决定创建一个必须使用证书访问 API.
的应用程序
我创建了一个自签名 CA 证书、SSL 证书和一个客户端证书。我将它们导入 Windows 服务器并正确配置了 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 客户端密钥库(pfx 文件)存储在您的应用中的某处,可能作为资产,并在启动时加载它。创建一个 SecurityContext
然后调用 useCertificateChainBytes
和 usePrivateKeyBytes
将相同的值传递给两者(pfx 文件的内容和密码)。
将 SecurityContext
用作 HttpClient
的 context
。
您通过像这样将字节加载到内存中来进行客户端身份验证 final cert = await RootBundle.load('assets/cert.pfx'); .然后创建一个 SecurityContext,然后调用 useCertificateChainBytes 和 usePrivateKeyBytes。使用此 SecurityContext 作为您的 HttpClient 上下文。
我是证书界的新手。我决定创建一个必须使用证书访问 API.
的应用程序我创建了一个自签名 CA 证书、SSL 证书和一个客户端证书。我将它们导入 Windows 服务器并正确配置了 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 客户端密钥库(pfx 文件)存储在您的应用中的某处,可能作为资产,并在启动时加载它。创建一个 SecurityContext
然后调用 useCertificateChainBytes
和 usePrivateKeyBytes
将相同的值传递给两者(pfx 文件的内容和密码)。
将 SecurityContext
用作 HttpClient
的 context
。
您通过像这样将字节加载到内存中来进行客户端身份验证 final cert = await RootBundle.load('assets/cert.pfx'); .然后创建一个 SecurityContext,然后调用 useCertificateChainBytes 和 usePrivateKeyBytes。使用此 SecurityContext 作为您的 HttpClient 上下文。