0

我有证书和 ECDSA(在 p-256 上)签名。现在我想使用提供的证书验证这个签名。我使用 c++(在 Windows 上)。无法使用托管代码 (.NET)。我发现 CryptoAPI 不支持 ECDSA,所以我应该使用 CryptoAPI NG (CNG)。但是我找不到如何将公钥从证书导入到 CNG。

你能帮我解决我的问题吗?谢谢

4

2 回答 2

0

问题已解决。为此,我使用 OpenSSL。

于 2014-10-15T17:33:03.420 回答
0

CryptImportPublicKeyInfoEx2函数将公钥导入 CNG 非对称提供程序......”

我的 C 可能有点偏离,但我相信它类似于

BCRYPT_KEY_HANDLE hKey;
BOOL imported = CryptImportPublicKeyInfoEx2(
    X509_ASN_ENCODING,
    &(pCertContext->pCertInfo->SubjectPublicKeyInfo),
    0,
    NULL,
    &hKey);

if (!imported)
    goto :err;
于 2016-07-01T14:01:29.843 回答