gpt4 book ai didi

.net - 部署通过 app.config 中的 RSAProtectedConfigurationProvider 加密的连接字符串

转载 作者:行者123 更新时间:2023-12-05 00:00:55 24 4
gpt4 key购买 nike

如果开发人员在自己的机器上使用 RSAProtectedConfigurationProvider 加密连接字符串 app.config 部分,然后将其部署到用户的工作站,那么该用户的工作站(或服务器,就此而言)是否可以自动解密连接字符串?

是否需要某种 key 导出/安装?这是如何运作的? 我意识到它不是防弹的。 我正在寻找有关部署是否容易和/或使用此类加密连接字符串的建议。

最佳答案

有可能的。有 API 可以做到这一点(查看 System.Security.Cryptography 命名空间),或者您可以从命令行使用 aspnet_regiis:

aspnet_regiis -pc -exp  : create an exportable key pair
aspnet_regiis -px : export an RSA key pair to an XML file
aspnet_regiis -pi : import an RSA key pair from an XML file
aspnet_regiis -pa : add access for an account to a key container

当然,在使用加密时,您只是将保护数据(您的连接字符串)的问题替换为保护 key 的问题。

在您的示例中,正如您所知,因为您说您知道它不是防弹的,所以用户将需要访问 key 容器,以便能够解密加密的连接字符串。

此外,任何持有包含导出 key 对的 XML 文件的人都可以这样做。

更新

部署过程类似于:
  • 在开发人员工作站上创建可导出的 key (aspnet_regiis -pc -exp)
  • 使用此 key 加密开发人员工作站上的配置部分
  • 将 key 导出到 XML 文件 (aspnet_regiis -px)
  • 将 XML 文件复制到目标机器
  • 从目标机器上的 XML 文件导入 key (aspnet_regiis -pi)
  • 授予用户帐户对目标计算机上的 key 的读取访问权限 (aspnet_regiis -pa)

  • 使用 protected 配置提供程序加密的部分,例如 RSAProtectedConfigurationProvider将自动解密,前提是运行应用程序的 Windows 身份对 RSA key 容器具有读取权限。

    关于.net - 部署通过 app.config 中的 RSAProtectedConfigurationProvider 加密的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9408113/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com