.net – 从TripleDES更改Microsoft配置文件加密方法

前端之家收集整理的这篇文章主要介绍了.net – 从TripleDES更改Microsoft配置文件加密方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
加密(“保护”)Microsoft配置部分时,您会看到类似于下面的XML的内容.它遵循(至少部分)XML加密的W3规范.

但是,在下面的XML中,您将看到EncryptedData部分下的EncryptionMethod是“tripledes-cbc”.我们希望能够将其更改为更安全的替代方案,特别是AES,这也是前面提到的W3规范中规定的.

在与微软支持工程师的许多电话会议中,他们无法理解这个问题,更不用说回答它了.有没有办法改变这种加密方法

我之前忘了提到我们当前设置为RsaProtectedConfigurationProvider,但只有密钥似乎是用RSA加密的,而数据是用3DES加密的.

<MiscCryptoData configProtectionProvider="someConfigProtectionProvider">
  <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>asf78ag78asg\...cryptoyadayada...asdf8r=</CipherValue>
        </CipherData>
      </EncryptedKey>
    </KeyInfo>
    <CipherData>
      <CipherValue>zxcv6asdf35...largercryptoyadayada...u7i8o9p=</CipherValue>
    </CipherData>
  </EncryptedData>
</MiscCryptoData>
我刚刚用反射器检查了 RsaProtectedConfigurationProvider,我发现没有什么可以做的,可以将tripledes-cbc更改为其他任何东西.

因此,如果要使用AES加密,则必须编写自己的ProtectedConfigurationProvider.您可能希望使用Reflector为您提供良好的开端.

猜你在找的Windows相关文章