vb.net - VB.net - 导入证书,与私钥绑定并安装在 USB PKI 令牌上
问题描述
所以我要做的是将现有证书(DER、CER 和/或 PEM 格式)导入到 USB PKI 令牌中,该令牌已经具有与证书匹配的私钥。
首先,我能够使用 VB.net 中的代码成功地将证书添加到 Windows 证书存储(我的/个人)。其次,我什至可以将证书匹配并绑定到密钥(为此使用 certutil -repairstore,在我的 vb.net 程序中执行)
现在的问题:上面的部分将证书添加到 PC 商店,并将其与该机器上使用的密钥匹配。但是,证书实际上并未添加到 USB PKI 令牌中。这意味着如果我将它移动到另一台 PC,我在那里只有私钥。
现在,我相信应该可以将它添加到令牌中(顺便说一句,它有自己的 CSP。)
原因是,如果我将令牌插入 PC,并通过 Windows 中的 MMC 将证书本身直接导入证书管理器,它将自动与私钥匹配并将其安装在令牌本身上。
感觉这应该可以通过编码实现,不是吗?我也通过powershell尝试过,但没有运气。certutil 能够直接在令牌上导入证书,但是,只有在您提供我没有的 PFX 文件时,才能查看私钥如何仅在令牌上可用。
目前,导入是通过以下方式完成的: Dim collection = New X509Certificate2Collection()
collection.Import(V_EndEntity)
Dim store = New X509Store(StoreName.My, StoreLocation.CurrentUser)
store.Open(OpenFlags.MaxAllowed)
Try
For Each certificate As X509Certificate2 In collection
store.Add(certificate)
Next
Finally
store.Close()
End Try
有什么建议么?
解决方案
推荐阅读
- mvvm - 域模型对视图模型的依赖有多糟糕?
- c# - 无法在默认 Blazor 服务器端项目中找到 Razor 页面
- css - 删除输入的蓝色轮廓颜色
- .net-core - IdentityServer4 查找 PersistedGrantStore 中的哪个授权适用于当前刷新令牌
- python-3.x - 如何方便地让bash和python3共享环境变量?
- elasticsearch - 自定义 Kafka Connect - ElasticSearch Sink 连接器
- c# - 使用 DataGridView 的 RowPrePaint 事件时,行被渲染两次
- optimization - Scipy的优化可以找到多个局部极值吗?
- powershell - 向一个用户添加多个邮箱时,无法处理参数“身份”错误上的参数转换
- c++ - 为什么 ./configure libbitcoin-system 在 Raspian Butch 上找不到 boost 库?