如何将 OpenSSL 密钥文件导入 Windows 证书存储区

2024-02-26

我有 OpenSSL 生成的 PEM 格式的 X.509 证书及其关联的密钥文件。连接到原型服务器时需要此证书进行身份验证。这在 Linux 上运行良好。我一直在使用 Microsoft SChannel API 在 Windows 平台上驱动 SSL/TLS 连接,但我想使用相同的测试证书。我可以右键单击证书文件并将其导入到我的证书存储中,但我相信私钥不会随之导入(即使我已将它们连接到同一个文件中)。

当我去运行 SChannel 代码时,在初始化安全上下文(通过 InitializeSecurityContext)时收到“SEC_E_NO_CREDENTIALS”错误。我怀疑这意味着私钥丢失了。

有谁知道如何测试位于个人(或“我的”)证书存储中的证书中是否存在私钥(通过“certmgr.msc”访问)?是否可以为商店中的证书导入新的密钥文件?

任何见解或建议将不胜感激。


要测试是否为证书安装了私钥,请双击 certmgr.msc 中的证书图标。如果有私钥,则会在属性页中显示一条消息,表明您有私钥,否则不会给出任何私钥参考。


要导入证书及其私钥,您可以执行以下操作:

  1. 使用 openssl pkcs12 将证书及其私钥打包到 PKCS #12 文件或 PFX 文件中。这是一个example https://stackoverflow.com/questions/808669/convert-a-cert-pem-certificate-to-a-pfx-certificate.
  2. 将此 PKCS #12 或 PFX 文件导入到证书存储中。

请注意,导入 pfx 文件时您可能会看到错误,例如“此文件无法用作以下用途:个人信息交换”。此错误是由于证书缺少适当的 X.509 v3 扩展(例如使用字段(数字签名等))引起的

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

如何将 OpenSSL 密钥文件导入 Windows 证书存储区 的相关文章

随机推荐

  • 如何使用 Rails 5.1.0 和 jQuery

    我开始使用 Rails v5 1 0 据我所知 它默认没有 jQuery 但是想要安装 jQuery 来与 Zurb Foundation 6 一起使用 由于基础当前未加载模态 设置此功能的最佳方法是什么 Summary 安装纱线 yarn
  • Python,文件(1) - 为什么使用数字 [7,8,9,10,12,13,27] 和范围(0x20,0x100)来确定文本与二进制文件

    关于一个python中判断文件是二进制还是文本的解决方案 https stackoverflow com a 7392391 回答者使用 textchars bytearray 7 8 9 10 12 13 27 bytearray ran
  • mysql_real_escape_string 如何工作

    mysql real escape string 如何工作 是删除mysql函数还是在mysql函数之间添加 它比addslashes更好吗 mysql real escape string 调用 MySQL 的库函数 mysql real
  • +[NSString stringWithString:] -- 有什么意义?

    As NSString字符串是不可变的 它的值是多少stringWithString 类方法 与使用时我得到了实用程序NSMutableString 我只是没有看到实用程序NSString class 您可能有一个想要复制的 NSMutab
  • 修改 pandas 中的时间戳以使索引唯一

    我正在处理不定期记录的财务数据 有些时间戳是重复的 这使得分析变得棘手 这是数据示例 请注意有四个2016 08 23 00 00 17 664193时间戳 In 167 ts Out 168 last last sz bid ask da
  • Android Studio无法登录GitHub

    我在 Android Studio 上登录 GitHub 时遇到此问题 无法登录 无法获取用户信息 404 未找到 有人遇到过这个问题吗 我该如何解决这个问题 我也遇到过这个问题 尝试使用令牌登录 在浏览器上登录github com 转到设
  • vb6 调用形式,名称包含在数组中

    我有一个名为菜单的数组 它包含每个元素的表单名称 我怎样才能动态地调用它们 例如 如果菜单 1 登录 and 菜单 2 注销 我需要说 Login Show 但我想使用数组名称来执行此操作 我显然不能这样做 Menus X Show 这在V
  • 找不到语言 json 的内核 - 原子上的氢

    我发现有些人抱怨python kernel但这不是我的问题 这是错误的打印屏幕 https i stack imgur com DGvfC png 您可以在其中看到当我尝试运行 ipynb 文件时 它给我一个错误json kernel 该包
  • android EMFILE(打开文件太多)

    我实现了一个文件缓存来加载小图像以实现长网格视图 滚动一段时间后 我得到了很多libcore io ErrnoException open failed EMFILE Too many open files 我该如何避免这种情况 这是读取一
  • CodeDomProvider:LIB环境变量位于哪里?

    我正在使用一个System CodeDom Compiler CodeDomProvider CreateProvider CSharp 动态编译 C 类 最近 我从 Visual Studio 2010 切换到 Vistual Studi
  • Woot-badge 就像 PHP 中的一样

    有谁知道如何在用 PHP 编写的网站中实现某些功能 类似于堆栈溢出上的 Woot badge 和 Fanatic badge 我想奖励我的用户 如果他们连续 75 天每天访问我的网站 没有一天不访问它 我的网站使用会话进行登录 我使用 My
  • Google Maps Android API 实用程序集群管理器在创建集群之前是否有最低数量的标记?

    I am using the Google Maps Android API Utility Library to enable clustering in my app When five or more markers are co l
  • NSSpeechRecognizer 示例

    好的 所以我需要这样做 等待命令 晚安 然后运行一个动作 有人可以解释如何实现这一点吗 试试这个网站 http www cocoadev com index pl NSSpeechRecognizer http www cocoadev c
  • R 中带有 rCharts 的 nvd3 scatterPlot:增加标签的字体大小?

    我正在尝试增加使用创建的图中 x 轴和 y 轴的字体大小 NVD3 和 rCharts 这是我的情节代码 任何帮助表示赞赏 n1 lt nPlot pValues Chr data dat type scatterChart height
  • Git rebase 更改作者? [复制]

    这个问题在这里已经有答案了 所以我愚蠢地在一台未配置 git 的机器上进行了 3 次提交 没有作者或电子邮件 并且我想将这 3 次提交 尚未推送 作者更改为他们应该的内容 I know git commit amend可以换作者 但是怎么才
  • Android-按下按钮时将文本视图添加到布局

    现在我有一个文本字段 其下方有一个按钮 add 我想做到这一点 以便每次在文本字段中输入文本并按下 添加 按钮时 都会将一个新的文本视图添加到其下方的垂直布局中 并包含用户在该字段中键入的文本 我不想简单地使文本视图不可见 然后在单击时可见
  • Java 线程示例? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 谁能给出一个示例程序 以简单的方式解
  • BaseAdapter 类不会在 Asynctask 中 setAdapter - Android

    我有一个收集用户名 评论和数字的 asynctask 它将它们放入字符串中 然后调用 BaseAdapter 类 创建一个适配器 并将适配器设置为该类 但我的代码不起作用 它使应用程序崩溃 这是我的代码 public class Dashb
  • 试图根据具体情况抑制覆盖是错误的吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我明白为什么通过方法重写实现的多态性非常有用 我问的是 在某些情况下 当多态对象作为参数被接收时 而不是在定义其类时 尝试抑制它可能会出现什么问
  • 如何将 OpenSSL 密钥文件导入 Windows 证书存储区

    我有 OpenSSL 生成的 PEM 格式的 X 509 证书及其关联的密钥文件 连接到原型服务器时需要此证书进行身份验证 这在 Linux 上运行良好 我一直在使用 Microsoft SChannel API 在 Windows 平台上