| ||||
| ||||
if ( !(CertSetCertificateContextProperty(pCertContext, CERT_KEY_PROV_INFO_PROP_ID, m_hProv, &provInfoSig))) MyError("CertSetCertificateContextProperty"); PCERT_KEY_CONTEXT apData = 0; DWORD acbData = 0; if ( !(CertGetCertificateContextProperty(pCertContext, CERT_KEY_PROV_INFO_PROP_ID, 0, &acbData))) MyError("CertGetCertificateContextProperty"); apData = (PCERT_KEY_CONTEXT) new BYTE[acbData]; ZeroMemory(apData,acbData); if ( !(CertGetCertificateContextProperty(pCertContext, CERT_KEY_PROV_INFO_PROP_ID, apData, &acbData))) MyError("CertGetCertificateContextProperty"); все проходит без ошибки, и длину property выдает правильно ( 158 ), однако после последнего вызова apData->cbsize = 9449084; apData->hCryptProv=94491210; Разве так должно быть ? | ||||
Ответы: | ||||
| ||||
CERT_KEY_PROV_INFO_PROP_ID возвращает структуру CRYPT_KEY_PROV_INFO, а CERT_KEY_CONTEXT возврает CERT_KEY_CONTEXT_PROP_ID | ||||
| ||||
понятно, но при этом меняет и значение cbsize на непонятное значение ? | ||||
| ||||
Что ж в нем непонятного, если это поле другой структуры: LPWSTR pwszContainerName; | ||||