将私钥关联到 PFXExportCertStoreEx 的证书

2023-11-29

我正在尝试将证书导出到 pfx 文件。这就是我所做的(简化):

h = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, NULL, CERT_STORE_CREATE_NEW_FLAG, NULL); 
p = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
                  CertBlob.pbData, CertBlob.cbData);
CertSetCertificateContextProperty(p, CERT_KEY_PROV_HANDLE_PROP_ID, 0, &hPrivKey);
CertAddCertificateContextToStore(h, p, CERT_STORE_ADD_ALWAYS, NULL);
PFXExportCertStoreEx(h, &SomeBlob, L"", NULL, EXPORT_PRIVATE_KEYS);

PFX已创建,未导出私钥。有人曾经将私钥导出到 pfx 吗?将私钥附加到证书以便导出的正确方法是什么?


显然,CertSetCertificateContextProperty(p, CERT_KEY_PROV_HANDLE_PROP_ID ...)

不好。需要这样做:

CRYPT_KEY_PROV_INFO kpi;
ZeroMemory( & kpi, sizeof(kpi) );
kpi.pwszContainerName = "my-container-name";
kpi.dwProvType = PROV_RSA_FULL;
kpi.dwKeySpec = AT_KEYEXCHANGE;
kpi.dwFlags = CRYPT_MACHINE_KEYSET;
CertSetCertificateContextProperty( pCert, CERT_KEY_PROV_INFO_PROP_ID, 0, & kpi);

提供者名称和其他废话必须与用于生成实际密钥的信息相匹配,这一点至关重要。不需要设置提供者句柄或任何类似的东西。也必须在之前完成CertAddCertificateContextToStore.

这是我发现将私钥附加到证书的唯一方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将私钥关联到 PFXExportCertStoreEx 的证书 的相关文章

  • win10上python3密码库pycryptodome使用

    环境安装 python 在 Windows下使用密码库时要安装的是pycryptodome模块 pip install pycryptodome python 在 Linux下使用密码库时要安装的是pycrypto模块 pip instal
  • Jenkins学习篇之在Jenkins上配置kubernetes

    Jenkins是现在比较成熟的CICD管理平台 官方提供了丰富的插件用来配置CICD流程 这篇博客 记录一下在Jenkins上配置kubernetes的过程 希望对你有帮助 一 安装kubernetes插件 1 在插件管理里面搜索kuber
  • Windows XP 与 Vista/7 上的 MS Crypto API 行为

    我试图了解如何在 XP Vista 和 Windows 7 上从 PEM 格式 示例包含在下面的代码中 导入公钥 示例代码将在 XP 和 Windows Vista 7 上导入密钥 但不会一样的方法 在 Windows XP 上 字符串 原
  • 将私钥关联到 PFXExportCertStoreEx 的证书

    我正在尝试将证书导出到 pfx 文件 这就是我所做的 简化 h CertOpenStore CERT STORE PROV MEMORY 0 NULL CERT STORE CREATE NEW FLAG NULL p CertCreate
  • SSL 连接、Windows 证书存储和 CAPI 引擎

    我正在创建一个SSL使用 OpenSSL API 进行连接 众所周知 在 SSL 握手中 服务器或客户端会发生一系列证书身份验证 现在对于客户端证书身份验证 客户端的证书和关联的私钥存储在Windows Certificate Store
  • Microsoft CryptoAPI:如何将 PUBLICKEYBLOB 转换为 DER/PEM?

    我有一个生成的 RSA 密钥对 存储为 PRIVATEKEYBLOB 和 PUBLICKEYBLOB 并且我需要能够将这些密钥转换为 DER 或 PEM 格式 以便我可以在 PHP 或 Python 中使用它 我发现我可以使用 CryptE
  • WinHttp:如何使用临时证书存储?

    我有一个 C 应用程序 它与我们的一台服务器建立 HTTPS 连接 在我的理想世界中 我希望发生以下情况 应用程序启动 应用程序使 Windows 信任服务器的根 CA 请不要使用 GUI 只需系统调用 应用程序与服务器对话 执行其工作等
  • 如何在 Java 中生成相当于 Python 示例的 HMAC?

    我正在考虑实现一个应用程序Twitter 通过 Oauth 授权 http apiwiki twitter com Authentication在爪哇 第一步是获取请求令牌 http apiwiki twitter com Twitter
  • 验证可执行文件的 Authenticode 签名时内存泄漏?

    我在用Win验证信任 http msdn microsoft com en us library aa388208 v VS 85 aspx使用以下函数验证某些 Windows 可执行文件的有效性 该函数在循环中调用 tmain int s
  • 可以用 wincrypt 做 HMAC 吗?

    我一直在尝试使用 wincrypt cryptoapi Cryptography API Next Generation CNG 执行直接的 SHA256 HMAC 但我真的很挣扎 我的目标是 Windows 8 我找不到正确的方法或在任何
  • 如何按照 PKCS#11 将 Microsoft Crypto API 与 USB 适配器一起使用

    我有一家公司提供的 safenet 身份验证 USB 令牌 他们告诉我他们里面有数字公钥证书 他们给了我一个密码和一个软件 通过它我可以看到它可以检测里面的证书 现在我需要访问此令牌的证书 然后我需要使用我的开发代码进行签名 加密和解密 但
  • 如何快速了解mscorlib?

    我想将数据读入 RSAParameters 结构 RSA参数 http msdn microsoft com en us library system security cryptography rsaparameters 28v VS 1
  • 从 cert 文件到 pfx 文件的转换

    是否可以将 cert 文件转换为 pfx 文件 我尝试将我的 cerf 文件导入 IE 但它从未显示在 个人 选项卡下 因此我无法在那里导出 我正在寻找是否有可用的替代方案 仅供参考 cerf 文件是通过使用 keytool 创建的 然后导
  • MS CryptoAPI 无法在 Windows XP 上使用 CryptAcquireContext() 运行

    我使用 Microsoft CryptoAPI 编写了一些代码来计算 SHA 1 并让编译后的 exe 在 Windows 7 Win Server 2008 Win Server 2003 上运行 但是 当我在 Windows XP SP
  • 具有本地 IP 的设备的自签名证书

    设想 我们有一个类似于 WiFi 路由器的设备 它暴露了 UI 和 API 该设备将在我们无法控制的任何 LAN 上运行 就像 WiFi 路由器在任何房屋上运行一样 该设备不属于任何域 通过浏览器通过其 IP 地址 即 192 168 1
  • 尝试访问资源自定义证书和请求时出现 SSLError("bad handshake")

    我想使用 Zeep 对 Web 服务进行编程以在 Python 中交换数据 我只能使用我的证书访问服务 我有一个 PFX 证书 但我将其转换为两个 pem files My code from zeep import Client from
  • 与 PFX 文件合并

    VS2012 似乎使用 PFX 文件而不是 SNK 文件进行签名 我的印象是这与延迟签名有关 但我不在乎 当我构建应用程序时 我可以使用 an to 并查看它是否已签名 当我合并调试文件夹并使用 keyfile 指令 我成功地处理 SNK
  • 导入pfx时无法导入以下密钥文件错误

    我在 stackoverflow 上彻底研究了这个问题 我看到了很多答案 但没有一个对我们有用 我们最近从 comodo 购买了一个代码签名证书 我们将使用它来签署我们的 c WPF net4 应用程序 我们已按照以下说明进行操作 然后在
  • 解码 PKCS#12 文件

    我正在寻找在 NET 中解码 PKCS 12 文件的方法 我需要提取私钥和任何证书 以便我可以以编程方式访问以下内容 modulus 公共指数 私人指数 prime1 prime2 指数1 指数2 系数 我需要此信息 以便我可以成功使用 P
  • 提取证书中主题属性的所有值

    我目前正在使用CertGetNameString http msdn microsoft com en us library windows desktop aa376086 28v vs 85 29 aspx提取每个主题属性的值 如下所示

随机推荐

  • 用于解压缩文件的 VBA 脚本 - 只是创建空文件夹

    我正在使用 Ron 的代码 http www rondebruin nl win s7 win002 htm 理论上可以将一堆 zip 文件解压到一个文件夹中 我相信下面的代码获取 下载 目录中的每个 zip 文件 使用 zip 文件的名称
  • 如何用selenium继续填充下一页的数据?

    我想通过以下方式登录Selenium 该过程分为2页 email 密码 现在我可以在第一页输入密钥 然后我应该进入下一页 输入密码并单击提交密钥 但是 如果我只在一个类中添加4个按键代码 则无法完成第二页按键输入 密码和提交 我猜想第一页按
  • 为什么Multiprocessing的Lock不会阻止其他进程使用对象?

    以下代码是一家商店的代码 该商店有 5 件商品 三个顾客各需要一件商品 import multiprocessing as mp class Shop def init self stock 5 self stock stock def g
  • 在映射时使用 adf 管道参数作为源到接收器列

    我有一个具有复制活动的 ADF 管道 我正在将数据从 Blob 存储 CSV 文件复制到 SQL 数据库 这按预期工作 我需要映射 CSV 文件的名称 这来自管道参数 并将其保存在目标表中 我想知道是否有办法将参数映射到目标列 列名不能直接
  • 在自定义控制器工厂中进行通用授权的良好做法?

    我的控制器共享一个客户端 ID 路线 clients clientId controller action id 示例网址 clients 1 orders details 1 clients 2 children index client
  • 通过堆栈进行 32 位扩展乘法

    这是我一直用来实现两个 32 位数字的扩展乘法的代码 有没有办法通过创建子程序并通过参数传递使用堆栈来实现类似的逻辑 使用 MUL 指令还是不使用 MUL 指令 有人可以帮忙吗 org 0x0100 jmp start multiplica
  • 迁移到 androidx 后,膨胀类 androidx.constraintlayout.ConstraintLayout 时出错

    我刚刚通过 Android Studio 菜单选项迁移到 androidxRefactor gt 重构为 AndroidX 我收到以下错误 android view InflateException 二进制 XML 文件行 2 二进制 XM
  • python bokeh,如何制作相关图?

    如何在 Bokeh 中制作相关热图 import pandas as pd import bokeh charts df pd util testing makeTimeDataFrame 1000 c df corr p bokeh ch
  • 使用服务帐号访问 Google Reseller API

    我们在使用服务帐户访问经销商 API 时遇到问题 带有客户端密钥的示例运行良好 但我们需要将其部署在 k8s Kubernetes Engine 中 而不需要定期刷新 oauth 会话 尤其是执行一次 因为在 Docker 容器中有点困难
  • 数据不会导入到 PGAdmin

    找不到 C Program Files PostgreSQL 13 pgAdmin 4 runtime psql exe 文件 请更正首选项对话框中的二进制路径 这是我尝试将数据导入 pg admin 时得到的响应 我之前导入过数据 但没有
  • 将 LIKE 运算符与 DETERMINISTIC 函数结合使用时的 Oracle 执行计划

    现在 当我使用 Oracle 执行计划时 我遇到了一件非常棘手的事情 DETERMINISTIC右侧的功能LIKE操作员 这是我的情况 情况 我认为执行这样的查询 简化的 是明智的 SELECT FROM customers cust JO
  • 在客户端-服务器设置中两个 ESP8266 之间的通信速度更快

    我正在尝试在两个 ESP8266 12 E 模块之间进行通信 一个设置为接入点模式 另一个设置为站 我的目的是在两者之间建立沟通 如何才能使数据传输更快 这就是所谓的TCP IP连接吗 接入点的代码 include
  • PHP JSON 字符串格式错误

    我有一个清理用户输入的功能 干净的输入返回后 会经过 json decode var true 目前 我收到格式错误的字符串错误 不过 如果我打印出来并用它进行测试http jsonlint com 它过去了 我开始意识到 清理过程之后的字
  • python matplotlib 将图形保存为数据文件

    我想创建一个 python 脚本 沿水平轴放大和缩小 matplotlib 图形 我的图是一组水平条形图 我还想让它能够采用任何通用的 matplotlib 图形 我不想只加载图像并放大该图像 我想沿水平轴放大图表 我知道该怎么做 有什么方
  • 如何在 Angular 2 中动态添加和删除表单字段

    我试图在用户单击添加按钮时动态添加输入字段 并且对于每个表单字段必须有一个删除按钮 当用户单击必须删除表单字段时 我需要使用 Angular 2 来实现此目的 如下所示我是 Angular 2 的新手 请帮助我完成它 我尝试过的 我创建了一
  • ZPL 打印机上的 Unicode 字符

    我的任务是使用联网的 Zebra GK420T 重新设计一个打印运输标签的系统 我已经能够完美地向它发送 ZPL 打印作业 但我似乎无法让它打印 unicode 字符 例如西里尔字母 我已使用 Seagull Scientific 驱动程序
  • 在 Ruby 中,如何在类中编写代码以使 getter foo 和 setter self.foo = ... 看起来更相似?

    在 Ruby 中 在类的实例方法中 我们使用 getter foo 我们使用 setter self foo something 一个人不需要拥有一个self 另一个有 有没有办法让它们看起来更相似 而不是使用类似的东西self foo作为
  • 如何创建动态大小的结构数组?

    我知道如何创建具有预定义大小的结构数组 但是 有没有办法创建动态结构数组 使数组变得更大 例如 typedef struct char str words main words x 100 I do not want to use this
  • SQL查询优化建议产品

    我现在将尝试更好地解释以下问题和查询的目的是什么 假设我们正在讨论电子商务环境和数据库 除其他表外 我们还有三个表 产品 订单和订单数据 ORDERS 表将处理所有已下订单 还有一个子表 我们将其称为 ORDERS DATA 将存储订单中记
  • 将私钥关联到 PFXExportCertStoreEx 的证书

    我正在尝试将证书导出到 pfx 文件 这就是我所做的 简化 h CertOpenStore CERT STORE PROV MEMORY 0 NULL CERT STORE CREATE NEW FLAG NULL p CertCreate