下面的命令是否使用机器密钥来加密配置文件的指定部分?
aspnet_regiis.exe -pef“ connectionStrings” C:\ path \ to \ application
It seems the command uses DPAPI according to Rolando CC.
-prov“ RsaProtectedConfigurationProvider” 此方法取决于可以在多台计算机之间共享的私钥,这使其成为在多种环境(例如开发,测试和生产)下工作的正确解决方案。另外,如果您必须处理具有多个IIS服务器的Web场,并且可能由DFS(分布式文件系统)进行同步。
-prov“ DataProtectionConfigurationProvider” 此方法取决于您最初对数据进行加密的机器,例如,如果机器A加密“ hello world”,则只有机器A拥有正确的密钥才能解密数据。使用Web场时,这将导致不合适的解决方案。
DPAPI leverages Password-Based Key Derivation.
DPAPI最初会生成一个称为MasterKey的强密钥,该密钥受到用户密码的保护。 DPAPI使用称为PKCS#5中所述的基于密码的密钥派生的标准加密过程来从密码生成密钥。然后,此密码派生的密钥与Triple-DES一起使用以加密MasterKey,该密钥最终存储在用户的配置文件目录中。
Internet上有几则帖子提到了机器密钥,但是我看不到它在Microsoft网站上的任何地方都明确指出。