2015-11-13 7 views
0

Я нашел блестящее применение SignerSignEx на C# здесь: https://stackoverflow.com/a/26372061SignerSignEx как Azure WebJob

Он прекрасно работает на разработчика. машина, но на Azure WebJob вы должны использовать что-то вроде этого: (. Код ошибки 0x80092006 - Нет провайдер не был указан для магазина или объекта)

X509Certificate2 cert = new X509Certificate2(certPath, 
         certPassword, 
         X509KeyStorageFlags.MachineKeySet | 
         X509KeyStorageFlags.PersistKeySet | 
         X509KeyStorageFlags.Exportable); 

Но с X509KeyStorageFlags.MachineKeySet флагом SignerSignEx возвращает HRESULT = -2146885626

Как я могу это исправить и почему MachineKeySet влияет на поставщика? Спасибо!

ответ

0

После некоторого исследования я почти уверен (99% :)), что SignerSignEx просто не работает без профиля пользователя. Итак, я использовал mono + openssl.

Похоже на решение проблемы.

Вы можете увидеть пример Authenticode с Mono на: https://github.com/mono/mono/blob/master/mcs/tools/security/signcode.cs

Bye, имеют прекрасное время!