Чтобы выполнить то, что вы хотите, вам нужно заглянуть в библиотеку Win32 CryptAPI. Это будет не так просто, как .NET. Загляните в CertOpenStore и CertFindCertificateInStore .
Вам нужно будет открыть хранилище сертификатов и передать его в CertFindCertificateStore, создав структуру, которая будет содержать все критерии, которые вы хотите использовать для поиска вашего сертификата. Вы можете использовать серийный номер, подпись и т. Д.
HCERTSTORE hSysStore = NULL;
PCCERT_CONTEXT pDesiredCert = NULL;
if(hSysStore = CertOpenStore(
CERT_STORE_PROV_SYSTEM, // The store provider type
0, // The encoding type is
// not needed
NULL, // Use the default HCRYPTPROV
CERT_SYSTEM_STORE_CURRENT_USER, // Set the store location in a
// registry location
L"MY" // The store name as a Unicode
// string
))
{
//We have our store, let's do stuff with it
if (pDesiredCert = CertFindCertificateInStore(.....) { ..... }
}
else
{
//Error stuff
}
Вам нужно будет #include <Wincrypt.h>
и #include <windows.h>