2015-10-14 3 views
0

Есть унаследованный код с вызовом функции CryptImportKey.E_ACCESSDENIED (HR 0x80070005) на вызов CryptImportKey

В последнее время возникла проблема - на некоторых машинах код работает нормально, на некоторых машинах (по крайней мере, на Win7x64 Pro) он возвращает 0 (GetLastError() возвращает ошибку E_ACCESSDENIED).

Не знаете, в чем проблема, и какая информация может помочь расследовать проблему. Будет предоставлено, если кто-нибудь даст совет.

Я очень ценю любую помощь, которую вы можете предоставить.

ответ

0

Даже пользователь admin не может выполнить эту операцию в описанной ситуации.

Мы пытаемся сделать простой способ обхода - просто переименуйте папку «ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys», и после автоматического создания новой только что переместили ее содержимое из старого. Не сейчас, насколько совершенным является это «решение».

Но он работает.

UPD. Процесс выполняется от пользователя SYSTEM, и этого было достаточно, чтобы предоставить ему общий доступ для чтения/записи к этой папке.