加密(“保护”)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使用 Reflector,我发现你无法改变tripledes-cbc
到其他任何事情。
所以你必须自己写ProtectedConfigurationProvider
如果你想使用 AES 加密。您可能需要使用 Reflector 来给您一个良好的开端。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)