Создаю пару ключей RSA и записываю их в файлы Код (Text): LOCAL hProv :dword LOCAL len :dword LOCAL hKey :dword ;=========================================================================================;Init invoke CryptAcquireContext,addr hProv,0,0,PROV_RSA_FULL,0 ;=========================================================================================;RSA mov ecx,1024 shl ecx,16 or ecx,CRYPT_EXPORTABLE invoke CryptGenKey,hProv,AT_KEYEXCHANGE,ecx,addr hKey mov len,2048 invoke CryptExportKey,hKey,0,PUBLICKEYBLOB,0,addr KeyBuf,addr len invoke WrToFile,addr aPublic,addr KeyBuf,len mov len,2048 invoke CryptExportKey,hKey,0,PRIVATEKEYBLOB,0,addr KeyBuf,addr len invoke WrToFile,addr aPrivate,addr KeyBuf,len invoke CryptDestroyKey,hKey ;=========================================================================================;End invoke CryptReleaseContext,hProv,0 затем в дургой программе с помощью CryptImportKey использую их Код (Text): invoke CryptImportKey,hProv,addr KeyBuf,len,0,0,addr hKey ... invoke CryptDestroyKey,hKey Так вот вопрос, сохраняются ли(в первой либо второй программе) какие либо(открытые/закрытые) ключи в хранилище?
2FED Что вы имеете ввиду под "хранилище"? Хранилищем может быть реестр, смарт-карта. Есть еще такое понятие как "контейнер".
2FED Так вы же контейнер не создаёте(исходя из приведенного исходника). Соответственно ничего в контейнере не сохраняется.
Но если контейнер равен нулю то используется контейнер по умолчанию. Вот и интересуюсь пишется в него что либо. И вообще интересно как использовать потом ключи из контейнера если они были там сохранены.
2FED В msdn всё чётко расписано. Для практики возьмите Крипто Про CSP и смело ищите у них в форуме примеры использования API.