0

証明書と ECDSA (p-256) の署名があります。ここで、提供された証明書を使用してこの署名を検証したいと思います。私はc ++を使用しています(Windows上)。マネージド コード (.NET) は使用できません。CryptoAPI は ECDSA をサポートしていないことがわかったので、CryptoAPI NG (CNG) を使用する必要があります。ただし、公開鍵を証明書から CNG にインポートする方法が見つかりません。

私の問題を解決できますか?ありがとう

4

2 に答える 2

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 に答える