04.05.2006 17:09:19 | Как создать контейнер, импортом открытого ключа | | Ответов: 6 |
|
Халтобин Евгений | | |
|
Создаю контейнер:
CryptAcquireContext(&hProv, "ContFromClient", NULL, 75, CRYPT_NEWKEYSET)
Импортирую открытый ключ:
CryptImportKey(hProv, pbPubKey, pcbBinary, 0, CRYPT_EXPORTABLE, &hKey). И что делать дальше? Нужно создать контейнер с ключом из файла. |
|
Ответы:
|
05.05.2006 9:27:52 | Халтобин Евгений |
|
Дополнение. На стороне клиента создали контейнер с ключевой парой. Экспортировали ключи в файл. На стороне сервера необходимо создать аналогичный контейнер. Подскажите как это сделать на примере контейнера с ключом AT_SIGNATURE. |
|
06.05.2006 10:38:51 | Василий |
|
Можно глупый вопрос - а зачем? |
|
06.05.2006 11:13:19 | Халтобин Евгений |
|
На основе ключевой пары клиента, на сервере необходимо создать PKCS#10 запрос. |
|
06.05.2006 12:32:40 | Василий |
|
Прикольно.
Обычно запрос делает сам клиент, используя свой личный существующий или вновь созданный ключевой контейнер для подписи запроса, после чего уже готовый запрос клиент передаёт на обработку на центр сертификации.
Если клиент передаёт кому-то свой секретный ключ - это называется компрометация ключа (с юридической точки зрения). |
|
06.05.2006 14:19:21 | Халтобин Евгений |
|
И все-таки как создать контейнер из blob ключей? |
|
09.05.2006 22:29:59 | Василий |
|
Если в двух словах - надо сначала экспортировать закрытый ключ в блоб типа PRIVTEKEYBLOB, а потом его импортировать в новый контейнер. Сложность в том, что экспорт и импорт закрытого ключа возможен только с шифрованием на ключе обмена (Диффи-Хеллмана).
В Вашем случае, если уж клиент передоверяет свой секретный ключ для подписи запроса кому-то, проще передать весь контейнер ключа (в виде файлов *.key). |
|