问题标签 [wincrypt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
130 浏览

c++ - 如何将firebase与libcurl连接

我想使用 libcurl 库将我的代码连接到 firebase 并读取我有这样的功能的数据

我有主要功能,例如

该代码在https://api.chucknorris.io等其他 api 上运行良好,我尝试连接 firebase 时遇到的错误是

  • 尝试 35.201.97.85:443...
  • 连接到 example-project-62811-default-rtdb.firebaseio.com (35.201.97.85) 端口 443 (#0)
  • schannel:下一个 InitializeSecurityContext 失败:未知错误(0x80092013)
  • 关闭连接 0
  • schannel: 使用 example-project-62811-default-rtdb.firebaseio.com 端口 443 关闭 SSL/TLS 连接 CURL ERROR: 35

edit-1 我也尝试从命令提示符处编写运行,它给了我同样的错误,当我添加 add --ssl-no-revoke 到脚本时它工作

正在工作,然后我尝试在我的代码中使用这种技术

但它没有用我该如何解决这个问题?

0 投票
1 回答
148 浏览

c++ - Visual Studio:从可执行文件中获取所有证书颁发者详细信息

我希望能够从 Windows 资源管理器中获取所有颁发者数据,如下所示:我想要的数据的屏幕截图

我已经能够从https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-certgetnamestringw获得 CN ,但我不知道那个调用是什么以 CN 为目标(如果我这样做了,我可能会弄清楚如何获得其他所有内容)。我试过用谷歌搜索诸如“api wintrust issuer CommonName Organization”和“wincrypt organization commonname”之类的东西,但这就像API洗掉了所有其他发行人数据一样。

0 投票
0 回答
144 浏览

winapi - 我可以从 Windows 系统证书存储中获取私钥吗?

我的情况是,我想将 Windows 系统证书存储中的证书和私钥用作 Node.js(或通常任何基于 OpenSSL 的环境)中的客户端 TLS 凭据。我知道我可以PCERT_CONTEXT很容易地使用 Windows API 找到相关对象。但是,我显然还需要相应的私钥。

我的理解是,这将使我CryptAcquireCertificatePrivateKey()能够处理私钥(作为 aHCRYPTPROVNCRYPT_KEY_HANDLE切向的任何一种方式),但 Windows API 中的任何内容都没有给我私钥数据本身。和函数允许我CryptExportKey()NCryptExportKey()加密形式获取数据:

  • 我可以将它们与虚拟目标键一起使用吗?
  • 这会被认为是一种不好的做法吗?
  • 总体而言,这可以作为一种策略吗?
  • 有更好的选择吗?

先感谢您!

0 投票
1 回答
61 浏览

winapi - WinAPI:您如何获得 UAC 为已签名二进制文件显示的“已验证发布者”?

我需要验证 .exe 并确保发布者名称与预期名称匹配(不是基于密钥,因为它会随着新代码签名证书的颁发而改变,名称始终相同)。

我找到了WinVerifyTrust用于验证已签名 .exe 的示例,但我还需要UAC 为已签名的可执行文件显示的“已验证发布者”。如何使用 c 或 c++ 中的 Windows API 函数获得它?

蒂亚!!

0 投票
1 回答
122 浏览

cryptography - PFXExportCertStoreEx API 未将私钥导出到 PFX 文件

我正在尝试使用 PFXExportCertStoreEx API 为自签名证书及其相应的私钥创建一个 pfx 文件。

自签名证书导出到 pfx 但私钥未导出到 pfx 文件。我为私钥设置了导出策略,如下所示。

我尝试了以下不同的方法,在这两种情况下,PFXExportCertStoreEx API 都失败,错误代码为 0x80090016。

方法 1:使用此处 提到的 CERT_KEY_PROV_INFO_PROP_ID 调用 API CertSetCertificateContextProperty

方法 2: 使用 CERT_NCRYPT_KEY_HANDLE_PROP_ID 和 keyHandle 调用 API CertSetCertificateContextProperty

我正在使用以下代码创建私钥、自签名证书并导出到 pfx 文件。

让我知道如何将私钥与自签名证书一起导出到 pfx 文件。

提前致谢。

0 投票
0 回答
29 浏览

pfx - 使用没有 OpenSSL 的 wincrypt API 从 pfx 中提取私钥

我想从 pfx 中提取私钥(使用 PFXExportCertStoreEx 获取)。我只使用 wincrypt 函数并且想避免使用 OpenSSL 库。目前我得到一个可能是密钥对的 blob(当我在字符串文件中打印它时,它没有标题 -----BEGIN PRIVATE KEY----- 和 END)我如何获得私钥?

0 投票
0 回答
30 浏览

windows - Windows 证书存储问题仍然使用 wincrypt 列出已删除的证书

当我使用 wincrypt 中的 CertDeleteCertificateFromStore 函数从 Windows 用户证书存储中删除证书时,API 返回已成功删除,但是我仍然可以看到 certmgr.msc 中存在的证书,并且如果我尝试使用 certutil 功能列出它。当我使用 CertEnumCertificatesInStore 函数列出可用证书时,未显示已删除的证书。为什么 certmgr 和 certutil 仍然显示证书?如何更新它们?

0 投票
1 回答
78 浏览

c++ - WIN32上的智威汤逊验证

我正在尝试使用 WIN32 加密函数验证 RS512 JWT。我有公钥、要验证的数据和签名数据作为内存数组。我能够创建证书上下文并导入公钥,但到目前为止我还无法验证签名。无论我尝试什么,我都会得到一个 STATUS_INVALID_PARAMETER 结果。

我看过几篇关于必须反转部分或全部数据的帖子:

  1. 反转公钥会阻止它加载。
  2. 反转 dataBuffer 和 signatureBuffer 中的一个/两个仍然会导致 STATUS_INVALID_PARAMETER。
0 投票
0 回答
167 浏览

delphi - 如何从证书中获取有效的 CNG 私钥句柄

我正在尝试获取 CNG 私钥句柄来对每个证书的数据进行签名。但首先,我正在努力获得一个有效的密钥句柄。

通过指纹查找证书正在工作。我正在接收提供私钥的自签名证书的上下文。

据报道调用CryptAcquireCertificatePrivateKey是成功的,内容LKeyHandle是非零的并且LKeySpec描述了一个 Ncrypt 密钥。

尽管如此,NCryptIsKeyHandle总是返回False。因此,我的代码引发了异常。请帮助我理解为什么LKeyHandle不被认为是有效的。

0 投票
1 回答
193 浏览

c++ - 如何在商店中添加证书?

我正在尝试将证书添加到存储中,但我是新手。我一直在搜索有关如何安装证书以存储而不从存储中找到证书上下文的信息(我没有存储中的证书)。我发现的所有东西都在下面的代码中使用过。但它似乎不起作用,即使在安装了证书的消息之后,我也无法在商店中找到证书。

在这里我没有收到任何错误,甚至看起来它已成功安装,但我在证书存储中一无所获。