Подскажите по CryptoApi

Тема в разделе "WASM.CRYPTO", создана пользователем 2FED, 16 янв 2010.

  1. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Создаю пару ключей RSA и записываю их в файлы
    Код (Text):
    1. LOCAL   hProv   :dword
    2. LOCAL   len :dword
    3. LOCAL   hKey    :dword
    4. ;=========================================================================================;Init
    5.     invoke  CryptAcquireContext,addr hProv,0,0,PROV_RSA_FULL,0
    6. ;=========================================================================================;RSA
    7.     mov     ecx,1024
    8.     shl     ecx,16
    9.     or      ecx,CRYPT_EXPORTABLE
    10.     invoke  CryptGenKey,hProv,AT_KEYEXCHANGE,ecx,addr hKey
    11.  
    12.     mov     len,2048
    13.     invoke  CryptExportKey,hKey,0,PUBLICKEYBLOB,0,addr KeyBuf,addr len
    14.     invoke  WrToFile,addr aPublic,addr KeyBuf,len
    15.  
    16.     mov     len,2048
    17.     invoke  CryptExportKey,hKey,0,PRIVATEKEYBLOB,0,addr KeyBuf,addr len
    18.     invoke  WrToFile,addr aPrivate,addr KeyBuf,len
    19.     invoke  CryptDestroyKey,hKey
    20. ;=========================================================================================;End
    21.     invoke  CryptReleaseContext,hProv,0
    затем в дургой программе с помощью CryptImportKey использую их
    Код (Text):
    1.     invoke  CryptImportKey,hProv,addr KeyBuf,len,0,0,addr hKey
    2.     ...
    3.     invoke  CryptDestroyKey,hKey
    Так вот вопрос, сохраняются ли(в первой либо второй программе) какие либо(открытые/закрытые) ключи в хранилище?
     
  2. Noga

    Noga New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    92
    2FED

    Что вы имеете ввиду под "хранилище"? Хранилищем может быть реестр, смарт-карта. Есть еще такое понятие как "контейнер".
     
  3. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Я имел ввиду контейнер.
     
  4. Noga

    Noga New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    92
    2FED

    Так вы же контейнер не создаёте(исходя из приведенного исходника).

    Соответственно ничего в контейнере не сохраняется.
     
  5. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Но если контейнер равен нулю то используется контейнер по умолчанию. Вот и интересуюсь пишется в него что либо.

    И вообще интересно как использовать потом ключи из контейнера если они были там сохранены.
     
  6. Noga

    Noga New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    92
    2FED

    В msdn всё чётко расписано. Для практики возьмите Крипто Про CSP и смело ищите у них в форуме примеры использования API.