问题标签 [mscapi]

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 回答
783 浏览

asp.net - powerbuilder 中的 Microsoft Crypto API (CAPI)

我正在寻找有关如何从 Windows 证书存储中提取证书信息并执行操作(例如使用检索到的证书验证签名)的示例信息。特定证书将通过 USB 令牌提供。任何帮助或指示将不胜感激,谢谢。

0 投票
1 回答
805 浏览

cryptoapi - 访问 PKCS12 存储的证书

我正在探索必须提取存储的证书以与 OpenSSL(C++ 应用程序)一起使用的情况。它被导入到本地计算机\个人存储中,并且包含受密码保护的私钥。

我可以通过 MS CryptoAPI 获得什么?

我想要的是要么检索原始证书,要么以受密码保护或不受保护的形式检索其私钥。是否可以?或者 CryptoAPI 不是为了提供证书副本而我将使用它的功能而不是使用 OpenSSL?

0 投票
1 回答
2288 浏览

c - Microsoft Crypto API 禁用 RSAES-OAEP 密钥传输算法

CryptEncryptMessage用来生成一个PKCS#7封装的消息。我正在szOID_NIST_AES256_CBC用作加密算法。

生成的消息似乎是有效的,但它RSAES-OAEP适用于在野外支持有限的密钥传输算法(Thunderbird、OpenSSL SMIME 模块等许多不支持它)。

我希望 CAPI 恢复到旧RSAencryption的密钥传输。

有没有可能的方法来做到这一点,如果有办法而不是使用,我可以恢复到低级消息传递功能,CryptEncryptMessage但即使使用低级功能我也找不到这样做的方法。

代码:

0 投票
1 回答
2806 浏览

c++ - 如何在 PKCS#11 之后将 Microsoft Crypto API 与 USB 加密狗一起使用

我有一家公司提供的安全网身份验证 USB 令牌,他们告诉我他们里面有数字公钥证书。他们给了我一个密码和一个软件,通过它我可以看到它可以检测到里面的证书。现在我需要访问这个令牌的证书,然后我需要使用我的开发代码进行签名、加密和解密。但是公司没有给我任何 sdk,所以我必须通过 C++ Microsoft CryptoAPI 来做所有事情。我在谷歌上搜索,但我不确定我的方向是否正确

此代码没有为我提供 USB 存储证书的正确句柄

我认为它应该在智能卡或令牌上提供任何默认连接的证书。我也尝试了 MS_SCARD_PROV,考虑它是否可以让我通过 USB 令牌访问,但它似乎只适用于智能卡而不是令牌。

我很想完成这项任务,如果您知道任何专家,请指导我或向我展示正确的教程。或者建议我应该为这种任务做些什么..

0 投票
1 回答
3673 浏览

java - 如何使用 Java 从 Windows (MSCAPI) 上的智能卡获取用户身份?

我想使用 Sun 的 MSCAPIProvider 从 Windows 上的 Java 胖客户端的智能卡 (PKI) 获取用户的身份。目标是:

  1. 用户打开应用
  2. 提示卡
  3. 提示输入 PIN
  4. 我得到了 Java 中的 X509Certicate
  5. 授予访问权限等

我根据这个stackoverflow question sample 找到了列出 MY 商店中的所有证书,并且我能够使用 Microsoft Smartcard Provider PIN 提示符对一些字节进行签名。

这是我的代码:

现在我面临两个问题:

  1. 我不知道他的别名可能是什么(鸡鸡蛋问题)
  2. 如何通过 HTTPS 建立 SSL 上下文来强制使用 X509Cert 进行 PIN 授权?

哪些是缺失的位?

0 投票
1 回答
588 浏览

c++ - 在 CryptoAPI 中识别 CSP 提供者

我正在使用 MS CAPI API 来使用 USB 令牌进行数字签名。

使用 CryptAcquireContext,我可以打印出所有可用 CSP 的名称,但我如何知道哪个 CSP 与插入的 USB 令牌相关联?

此外,如果有多个令牌插入计算机怎么办?

应用程序应该如何选择 CSP?

0 投票
1 回答
7611 浏览

java - 数字签名 SunMSCAPI 提供者和 MS Crypto API

我想与SunMSCAPI提供商签署文件。由于需要使用 MS Crypto API 导入公钥和签名。

通常使用SHA1withRSA, 生成签名以大端到小端(字节顺序)转换结束。

在 Java 应用程序中:

我相信这SunMSCAPI可以解决我的问题,但我不知道何时使用 MS Crypto API 导入公钥,它在第一阶段从不导入(除非我将大端字节序更改为小端字节序)下面是我的加密 API 代码.

0 投票
1 回答
6866 浏览

lua - 如何在 C 函数中生成 lua 脚本

如果 C 函数调用 lua 函数,并且 lua 函数调用 C API,则它在 lua 调用 C API 时起作用,longjmp 错误

lua_yieldk、lua_callk 和 lua_pcallk 它是如何工作的?

我的 C 代码:

lua代码

0 投票
3 回答
2619 浏览

java - 使用 MSCAPI 和 ITEXT 从 USB 令牌签署 PDF

谁能给我一个使用 MSCAPI 和 ITEXT 从 USB 令牌签署 pdf 的简单示例。我不想使用固定的 ocsp 字符串。

我试图遵循这本 数字签名书,但没有奏效。我的代码是:

它给了我以下错误:

我尝试使用 itext 5.2.1/itextpdf-5.3.5 和 bcmail-jdk16-1.46、bcprov-jdk16-1.46.jar、bctsp-jdk16-1.46.jar。

任何人都可以帮忙吗?请 ................

0 投票
1 回答
7964 浏览

visual-c++ - Microsoft 的 cryptoAPI“Microsoft Enhanced RSA and AES Cryptographic Provider”选择在 win7 上不起作用

我想对数据使用 AES 256 位加密,它由 "MS_ENH_RSA_AES_PROV" 提供。为此,当我尝试使用 pszProviderName=TEXT("MS_ENH_RSA_AES_PROV") 作为 CryptAcquireContext 的第三个参数运行以下代码时,我得到的输出类似于错误号 80090019 .此错误代码表示“请求的提供程序不存在”。

如果我使用 pszProviderName=TEXT("Microsoft Enhanced RSA and AES Cryptographic Provider"),它会给出错误号 0x8009001b,这意味着“dwProvType 指定的提供程序类型与找到的提供程序类型不匹配,并且此错误只能在 pszProviderName 指定时发生一个实际的 CSP 名称”。上述错误编号在 msdn 的 CryptAcquireContext 文档中指定。我不明白为什么会这样。如果此参数为 Null,则表示要使用默认 CSP,在这种情况下一切正常。我正在使用windows7。这个 CSP 不可用还是有其他原因?请有人帮忙。谢谢。