| ||||
| ||||
Возникла следующая проблема: после регистрации OID пытаюсь найти его... но не получается... CRYPT_OID_INFO CryptOIDInfo; CryptOIDInfo.cbSize = 0; CryptOIDInfo.pszOID = NULL; CryptOIDInfo.pwszName = NULL; CryptOIDInfo.dwGroupId = 8; CryptOIDInfo.dwValue = 8; CryptOIDInfo.Algid = NULL; CryptOIDInfo.dwLength = 0; CryptOIDInfo.ExtraInfo.cbData = 0; CryptOIDInfo.ExtraInfo.pbData = NULL; string sOID = "1.2.3.4.5"; CryptOIDInfo.pszOID = (char*)malloc(sOID.length()); strcpy((char*)CryptOIDInfo.pszOID,sOID.c_str()); string OIDName = "Мой OID"; int Len; Len = MultiByteToWideChar(CP_ACP,0,OIDName.c_str(),OIDName.length()+1,NULL,0); CryptOIDInfo.pwszName = (wchar_t*)malloc(Len*2); MultiByteToWideChar(CP_ACP,0,OIDName.c_str(),OIDName.length()+1, (wchar_t*) CryptOIDInfo.pwszName,Len*2); CryptOIDInfo.cbSize = sizeof(CryptOIDInfo); // регистрация нового OID bool t = CryptRegisterOIDInfo(&CryptOIDInfo,0); PCCRYPT_OID_INFO CryptFindOIDInfo = NULL; // ищем зарегистрированный OID, но не находим... CryptDelOIDInfo = CryptFindOIDInfo(CRYPT_OID_INFO_OID_KEY, (void*)"1.2.3.4.5", 0); может быть кто-то решил эту проблему... | ||||
Ответы: | ||||
| ||||
sorry... вместо PCCRYPT_OID_INFO CryptFindOIDInfo = NULL; надо написать PCCRYPT_OID_INFO CryptDelOIDInfo = NULL; | ||||
| ||||
Crypt32 регистрирует оиды только при загрузке библиотеки (считывает из реестра). | ||||