我的应用程序使用RSACryptoServiceProvider,我在两台(超过一千台)客户的计算机上遇到了问题。
这个问题非常简单易于修复,但需要人工干预,我希望避免这种情况。
问题是我得到一个CryptographicException,调用RSACryptoServiceProvider的构造函数。这是因为用户无法在他的RSA MachineKeys文件夹(C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys)中写入,即使用户在他的计算机上拥有管理员权限(UAC的东西?)。 很容易修复,只需将用户添加到MachineKeys并授予他写入权限。
发生它的计算机都在Windows 10上(巧合与否,我不知道)。 它似乎在Windows 10上有点普遍,并以不同的方式表现出来。例如,由于同样的原因,人们报告他们无法从Windows 10计算机加入主页组,并且修复方法是相同的。
首先,为什么会发生这种情况?我读过它可能是由其他用户创建的文件夹引起的,但即使这样,我也不明白为什么它没有以适当的权限创建。
第二,有没有办法以对我的用户透明的方式修复它?我可以验证我是否在目录中有写权限,但是,我怀疑我无法以编程方式更改权限...
提前致谢:)