| ||||
| ||||
Добрый день! Не подскажите, как решить проблему используя CAPICOM? У меня сертификат храниться в собственном хранилище, на время цифровой подписи хотелось бы его связывать с закрытым ключом, а потом опять оставлять в собственном хранилище, не устанавливая сертификат в хранилище Windows. Если это невозможно сделать с помощью CAPICOM, тогда подскажите как это делается при помощи CryptAPI, если можно укажите пример. Спасибо! Вот пример моего кода (естественно он не работает и пишет что сертификат не походит для подписи) Set SignObj = CreateObject("CAPICOM.SignedData") Set Certificate = CreateObject("CAPICOM.Certificate") Set Signer = CreateObject("CAPICOM.Signer") Certificate.Import(Cert) Set Signer.Certificate = Certificate SignObj.Content = "aaaa" Call SignObj.Sign(Signer, True, 0) | ||||
Ответы: | ||||
| ||||
Через CryptoAPI нужно установить ссылку сертификата на закрытый ключ. Пример есть в исходниках на странице http://www.cryptopro.ru/CryptoPro/products/csp4.asp Файл property.c посмотрите функцию int Install1CarrierCert (HCRYPTPROV hProv, HCRYPTKEY hUserKey, DWORD dwAquireContextFlags, DWORD dwOpenStore, LPWSTR lpwStoreName) | ||||