我有一个测试控制台应用程序,可以从本地计算机证书存储区成功检索证书,并使用此证书从AAD获取令牌。
但是,当我在Windows服务中运行时,虽然从商店检索到证书,但AcquireTokenAsync()不会运行并中断执行。
我确实注意到私钥错误: PrivateKey ='_ certCred.Certificate.PrivateKey'引发了类型'System.Security.Cryptography.CryptographicException'的异常
任何建议都会有所帮助
答案 0 :(得分:0)
如果我们有一个源代码和有关您正在使用的帐户的信息会很好,这样我们就可以看到证书的存储位置,但是根据您的描述:
运行服务帐户的用户可能无法访问您尝试访问的证书。
一种可能性是将服务配置为以系统帐户运行,然后选择“允许服务与桌面交互”#39;。