我在C#上发现了SignerSignEx
的精彩使用:https://stackoverflow.com/a/26372061
它在dev上工作正常。机器,但在Azure WebJob上你必须使用这样的东西:
X509Certificate2 cert = new X509Certificate2(certPath,
certPassword,
X509KeyStorageFlags.MachineKeySet |
X509KeyStorageFlags.PersistKeySet |
X509KeyStorageFlags.Exportable);
但是X509KeyStorageFlags.MachineKeySet
标志SignerSignEx
返回hResult = -2146885626(错误代码0x80092006 - 没有为商店或对象指定提供者。)
我如何解决它以及为什么MachineKeySet会对提供商产生影响? 谢谢!
答案 0 :(得分:0)
经过一些研究后,我几乎肯定(99%:))SignerSignEx
在没有用户个人资料的情况下无效。
所以我使用了mono + openssl。
看起来像是一个解决方案。
您可以在以下位置查看使用Mono的authenticode示例: https://github.com/mono/mono/blob/master/mcs/tools/security/signcode.cs
再见 祝你有美好的时光!