| ||||
| ||||
Требуется сделать следующее. Организовать обмен шифрование файлов между пользователями. Я вижу это так. Пользователи получают сертификаты с закрытыми ключами, далее обмениваются сертификатами и шифруют и расшифровывают файлы с помощью моей программы. Нет ли у кого работающего примера на с++? Смотрел в sdk взятом с этого сайта, там прежде чем шифровать файл требуется в файл public.bin записать открытый ключ получателя, согласно тому примеру нужно знать контейнер из которого брать сертификат, а какое имя контейнера в котором находится сертификат получателя? | ||||
Ответы: | ||||
| ||||
А может проще воспользоваться готовыми решениями? :-) Предлагается следующее решение. Каждое рабочее место участников обмена документами оборудуется следующим ПО: 1. СКЗИ "КриптоПро CSP" версии 3.0 (клиент) - 1200 рублей за лицензию на 1 рабочее место. http://www.cryptopro.ru/cryptopro/products/csp/default.htm 2. Приложение "КриптоАРМ " - 600 рублей за лицензию на 1 рабочее место. http://www.cryptopro.ru/cryptopro/products/crypto-arm/default.htm С помощью этого ПО подписываются/шифруете файлы, дальше передаете эти файлы по любым каналам связи. Для формирования ЭЦП необходимы еще ключи и сертификаты открытых ключей. Если у Вас юридически значимый документооборот (может возникнуть ситуация о представлении документов в суд в качестве письменных доказательств) то тогда нужно еще получить услугу удостоверяющего центра (УЦ) http://www.cryptopro.ru/cryptopro/services/ca-service.htm Рекомендуемая в Вашем случае схема: "Распределенная С Оператором". Подробнее посмотрите на сайте по указанной выше ссылке. Если не юридически значимый то можете выделить компьютер с Windows 2003 Server, поставить на него СКЗИ "КриптоПро CSP" (еще 1200 рублей) и поднять службу сертификации из состава ОС. С ее помощью изготовить ключи и сертификаты и раздать участникам документооборота. | ||||
| ||||
+1 По шифрованию - в шифрованном сообщении указываются данные сертификата получателя. Подразумевается, что его сертификат с секретным ключем установлен в каком-то заранее оговоренном месте, где программа его ищет. Обычно это хранилище "Личные" | ||||