15.10.2004 12:14:54CAPICOM Crypt with Cert (PublicKey) and Programmed Decrypt with Cert (PrivateKey) Ответов: 3
Igor V Matukin
Добрый день, сразу спасибо за Ваш форум.
Вопрос:
1. Администратор генерит (получает) сертификат с помощью CAPICOM (котор. использует крипто-провайдера по умолчанию, напр. MSBase.. или CryptoPro) или как еще-нибудь (неважно).
"Рождается" сертификат. PrivateKey к нему живет напр. в реестре Win, на дискете(неважно)..
2. Администратор шифрует какие-то данные с помощью открытого ключа сертификата. Куда-нибудь их выкладывает (напр. в реестр).
3. Собственно вопрос: может ли программа с помощью CAPICOM расшифровать данные (п.2), т.е. программно получить PrivateKey сертификата и, с помощью него, расшифровать данные или запросить крипто-провайдер расшифровать данные ???

Заранее спасибо,
С Уважением, Игорь.
 
Ответы:
15.10.2004 13:41:36Kirill Sobolev
1.С помощью CAPICOM нельзя получить (или сгенерить) сертификат.
2.Зашифровать/расшифровать можно, но только представив сами сертификаты, а не ключи отдельно - CAPICOM напрямую с ключами не работает. Для расшифровки, кстати, сертификат должен просто в "Личных" лежать, его даже явно указывать не надо.
15.10.2004 13:44:24uri
1. Администратор не может изготовить сертификат с помощью CAPICOM. Нет в CAPICOM такой функциональности. Администратор может сформировать ключи и запрос на сертификат с помощью ХEnroll и получить сертификат по запросу из службы MS CA, например, или ПАК "КриптоПро УЦ". А также установить этот сертификат на комп с помощью того же ХEnroll.
2. Шифрование сообщения происходит с использованием сертификата (точнее открытого ключа из сертификата) ПОЛУЧАТЕЛЯ. В Вашем примере получается, что администратор шифрует в свой же адрес. Это иногда бывает нужно, но это не самый распространенный случай использования шифрования.
3. Программа, используя объекты, предоставляемые CAPICOM (который вызывает в свою очередь через CryptoAPI функции криптопровайдера) может расшифровать шифрованное сообщение, если на этом компьютере, где исполняется программа, ей доступен закрытый ключ. соответствующий открытому ключу из сертификата получателя сообщения.

Общее: сам CAPICOM не выполняет криптографические преобразования. Он ВСЕГДА использует криптоправайдер, микрософтовские, криптопрошные или еще чьи-нибудь.
2.
15.10.2004 23:42:59Serge3leo
Здравствуйте,

Ответ не сможет расшифровать, при соблюдении хотя бы одного из следующих условий:

1. Ключ находится на отделяемом ключевом носителе и он не вставлен (только КриптоПро CSP);

2. Ключ защищён паролем и он не введён (и для КриптоПро CSP, и для MS Base CSP);

3. Программа исполняется из другого пользователя, который не имеет прав Администратора или SYSTEM (и для КриптоПро CSP, и для MS Base CSP);

Успехов.