Искам да позволя на IWebBrowser на ie да не е необходимо да избира сертификата, така че използвам InternetSetOption()
, за да направя това. Кодът е:
HCERTSTORE hMyStore = CertOpenSystemStore(0, _T("MY");
PCCERT_CONTEXT pDesiredCert = NULL;
pDesiredCert=CertFindCertificateInStore(
hMyStore,
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
CERT_FIND_SUBJECT_STR,
L"cnstr",
NULL);
if (InternetSetOption (NULL, INTERNET_OPTION_CLIENT_CERT_CONTEXT,
(LPVOID)pDesiredCert, sizeof(CERT_CONTEXT)) == FALSE) {
DOWRD i = GetLastError();
}
...
Получавам сертификата в магазин "МОЯТ". Когато използвам InternetSetOption()
за настройка на сертификата, той връща false, кодът на грешката е 12018. Потърсих малко информация за този код на грешка:
"12018 ERROR_INTERNET_INCORRECT_HANDLE_TYPE Типът предоставен манипулатор е неправилен за тази операция."
Искам да задам глобалната настройка, така че задам NULL на първия параметър, първият параметър във функцията InternetSetOption()
не може ли да бъде NULL
? И как мога да настроя правилно опцията?