在所有32位Windows系统上“无法打开包含的RSA密钥”

时间:2017-11-15 11:26:33

标签: c# encryption vsto rsa rsacryptoserviceprovider

我有一个带有加密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>

0 个答案:

没有答案