我有一个带有加密app.config的Outlook VSTO加载项。我是用这个命令做的:
cd C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319
ASPNET_REGIIS -pef“connectionStrings”“path”
我在64位Windows机器上做到了这一点。现在,当我在任何32位Windows设备上使用我的加载项并尝试使用读取或编辑app.config的控件时,我收到此错误 -
“无法打开包含的RSA密钥”
我发现的大多数解决方案建议为所有用户提供对C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys的访问权限。但这对我不起作用。有人还建议在32位系统上加密文件,但这不会导致在64位上出现同样的问题吗?我觉得我在这里遗漏了一些东西,它可能是加密过程中的东西还是只是你之后需要修复的东西?任何线索都将受到赞赏。
以下是我的配置现在的样子:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>cipheredvaluehere</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>cipheredvaluehere</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
</configuration>