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

2023-12-08

如果开发人员在自己的计算机上使用 RSAProtectedConfigurationProvider 加密连接字符串 app.config 部分,并且随后将其部署到用户的工作站,则该用户的工作站(或服务器)是否可以自动解密连接字符串?

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


有可能的。有 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

当然,当使用加密时,您只是用保护密钥的问题来代替保护数据(您的连接字符串)的问题。

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

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

UPDATE

部署过程类似于:

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

使用受保护的配置提供程序加密的部分,例如RSAProtectedConfigurationProvider如果运行应用程序的 Windows 身份具有 RSA 密钥容器的读取权限,则将自动解密。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 app.config 中部署通过 RSAProtectedConfigurationProvider 加密的连接字符串 的相关文章

  • set-key-partition-list codesign 后仍提示密钥访问

    我正在导入一个PEM使用以下命令包含我的代码签名身份的公钥和私钥的文件 security import PEM FILE k Library Keychains login keychain T usr bin codesign T usr
  • 使用鼠标检测的反验证码

    我想知道是否可以为仅使用 javascript 的表单创建一个安全的人体检测机制 不使用验证码 来检测鼠标移动 因为 jquery 或操作系统代码都可以移动鼠标 我是这么告诉的 这是我的计划 使用 jQuery 我可以检测鼠标是否已移动 然
  • 服务层设计。将事物放入服务层的原因

    我有一些与设计相关的问题 should service layer interfaces居住在一个domain layer 例如user service 将代码部分移动到单独层的主要原因是什么 should service layer居住在
  • 去除字符串的最佳方法是什么?

    我需要具有最佳性能的想法来删除 过滤字符串 I have string Input view 512 3 159 删除 view 和 的最佳性能方法是什么 和引号 我可以做这个 Input Input Replace view Replac
  • 获取 Wi-Fi 配置文件信息

    我使用的是 Windows 8 1 它没有工具 带有 GUI 来管理 wifi 网络配置文件 所以我正在写一篇对我有帮助的文章 我做了一些谷歌搜索并发现托管 Wifi API https managedwifi codeplex com 并
  • C# .Net Serial DataReceived 事件响应对于高速数据来说太慢

    我已经设置了一个 SerialDataReceivedEventHandler 并在 VS2008 Express 中使用基于表单的程序 我的串口设置如下 115200 8N1 Dtr 和 Rts 已启用 接收字节阈值 1 我有一个通过蓝牙
  • SSLContext 初始化

    我正在看JSSE参考指南 我需要获取一个实例SSLContext为了创建一个SSLEngine 所以我可以使用它Netty以启用安全性 获取实例SSLContext I use SSLContext getInstance 我看到该方法被重
  • 遭受xss攻击后如何恢复站点?

    最近我正在研究XSS攻击以及它们对网站的破坏性有多大 让我惊讶的是 网络 even SO 充满了关于如何防止xss攻击但没有相关资源说明如何在网站受到 xss 攻击后恢复网站 我遇到过一些事情 比如 将备份网站代码上传回服务器 下载整个网站
  • MySql 最后插入 ID,连接器 .net

    我正在使用 MySql Connector net 我需要获取最后一个查询生成的插入 id 现在 我假设返回值是MySqlHelper ExecuteNonQuery应该是最后一个插入id 但它只返回1 我正在使用的代码是 int inse
  • 如何将智能感知添加到我的应用程序中?

    我们的一款产品拥有一种专有的宏语言 通过我们的 Windows 软件进行编辑 我想添加智能感知 但我不知道如何去做 至少不完全重新发明轮子 是否有任何示例代码或第 3 方包至少可以让我开始 它不一定是免费的 该应用程序使用 NET 用 C
  • jqGrid - 使所有列不可排序?

    除了添加之外 有没有办法使网格上的所有列都不可排序sortable false到每一列 我知道您可以在网格级别设置全局选项 但不知道是否可以在 colModel 级别执行此操作 您可以使用 colmodel 模板来实现此目的 cmTempl
  • 如何获取Winforms窗体标题栏高度的大小?

    因此 如果它是工具窗口或可最小化的表单 我希望能够以编程方式获取其高度 这可能吗 如果是这样怎么办 您可以使用以下方法确定工具窗口和普通表单的标题栏高度 Rectangle screenRectangle this RectangleToS
  • 在 .Net 托管的 IronPython 脚本中设置和获取变量

    我正在尝试使用 Net 控制台应用程序中托管的 IronPython 来构建验证规则引擎的原型 我已经将脚本精简到我认为的基础内容 var engine Python CreateEngine engine Execute from Sys
  • 设置 Form.KeyPreview = true 的缺点?

    我想知道 Form KeyPreview 属性实际上有什么用处 它为什么存在以及将其设置为 true 会带来什么 风险 我想它一定有some负面影响 否则它根本不应该存在 或者至少默认情况下是正确的 EDIT 我很清楚what确实如此 我问
  • .png 和 .jpg 文件解密

    我正在尝试修改我正在使用的软件的图形资产 出于审美目的 我想很难对图形资产做一些有害的事情 但开发人员对它们进行了加密 我不确定他为什么决定这样做 因为我使用和修改了一堆类似的软件 而这些软件的开发人员并没有打扰 因为我看不出为什么需要加密
  • 在 C# 中使用通配符解析相对路径

    在 C 中 如果我有一个目录路径和一个带通配符的相对文件路径 例如 c foo bar and blah cpp 有没有一种简单的方法来获取绝对文件路径列表 例如 c foo blah a cpp c foo blah b cpp 背景 有
  • 调整图像的亮度、对比度和伽玛值

    在 NET 中调整图像的亮度 对比度和伽玛值的简单方法是什么 c and gdi have a simple way to control the colors that are drawn It s basically a ColorMa
  • 如何正确转义mysql?

    我刚刚发现如果我写 select from tbl where name like foo 然后添加 foo 作为参数及其值 a 用户数据 它不会正确转义 我勒个去 它想要 a 即使我使用参数 我还是忍不住觉得我对 sql 注入持开放态度
  • 当我使用 Image.FromFile() 时 FileNotFound

    我在这种情况下使用 Image FromFile string 方法 using System using System Collections Generic using System ComponentModel using Syste
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som

随机推荐

  • 为什么垃圾收集器不收集任务对象

    特别是当没有活动线程引用它时 我认为 GC 会考虑所有 net 线程来查找引用 它也会检查其他地方的引用吗 编辑 例如 让我们假设我们在一个控制台应用程序中 main 调用一个创建本地task1 的方法 然后应用task1 Continue
  • 按值“名称”合并 2 个 CSV 并合并计数 (Powershell)

    所以目前我正在寻找一种合并 2 个 CSV 文件的方法 这是我的意思的一个例子 CSV1 Name Count Klaus 3 Hans 2 Gerhard 1 Nina 6 Julia 10 Caro 19 CSV2 Name Count
  • 从 Python 控制 Libreoffice Impress

    我正在编写一个面向演讲者和会议的应用程序 我用 Python 编写并专注于 Linux 我想知道是否可以在 Linux 下使用 Python 以某种方式控制 LibreOffice Impress 我想从我的 Python 应用程序启动一个
  • iBeacon每1分钟不断进入和退出区域

    当 iBeacon 使用 Kontakt Beacon 在后台模式下进入某个区域时 我设法获得本地通知 同时 我监控 3 个具有特定且唯一标识符的信标区域 每个区域具有相同的 UUID 但具有唯一的主要和次要组合 在锁屏模式下 我的应用程序
  • C# 文本框显示以前写的文本

    例如 如果您访问 Facebook 并双击登录文本框 则会出现一些以前有人写过的登录信息 有什么方法可以在 C 文本框中生成以前输入的下拉菜单吗 我不想要组合框 See the 文本框 自动完成模式 and 文本框 自动完成源文本框的属性
  • PHP不会显示任何错误

    这是我的代码 echo foo error reporting E ALL echo this line doesnt end in a semi colon echo i should get an error here 当我运行这个时
  • PDF - Adob​​e 数字版

    我想使用 Adob e Digital Edition 保护 pdf 文档 我认为它目前被用来保护电子书以防止非法流通 任何人都可以对此有所了解吗 是否可以使用 C 或其他东西来做到这一点 您可能想看看Adobe 内容服务器和Adobe数字
  • 原子最大+原子CAS(atomicExch)

    我想问一下大家是否有更好的方法来组合2个原子 我的目标是在 J 个参数值列表 非常类似于 2 路输入 下找到一组 K 个方程 超过 32 个 的最高结果 并保存该值和 j 索引 if atomicMax max k id t max lt
  • 在 SQL Server 中禁用打印

    我有一个包含许多调试消息的脚本 这些消息由PRINT功能 有什么办法可以禁用该消息吗 我想到了类似的事情SET NOCOUNT ON 但用于用户消息 我喜欢在我的脚本 SP 中设置一个变量 Debug tinyint 默认 将其设置为 0
  • Android 如何以编程方式打开请勿打扰(dnd)

    如何在 Android 中以编程方式打开 关闭 请勿打扰 dnd 我希望这能给我一些东西 但事实并非如此 Settings System putInt getContentResolver Settings System DO NOT DI
  • 通过对象数组中的ID字段将字段值收集到数组中

    我无法修改 JSON 文件 尝试使用我所有关于循环 map filter 和条件 if else JavaScript 的知识 但什么也没有出来 请告诉我如何从此文件制作这样的文件 model 2002R Protection Pack M
  • LinearLayout 只允许添加一个视图

    layout new LinearLayout this addContentView layout new LayoutParams LayoutParams FILL PARENT LayoutParams WRAP CONTENT B
  • 如何使我的“显示和隐藏行”脚本在 Google 表格中正常运行

    我试图在 谷歌表格 工作表 Info Pull 中有一个脚本 根据 C 列的内容显示 隐藏行 目前我正在 C 列中运行以下公式 if or len H47 gt 0 len I47 gt 0 len J47 gt 0 len K47 gt
  • 无法在 ImageView 中显示来自 Firebase 存储的图像

    我有一个应用程序 允许用户将图像上传到 Firebase 存储桶 然后我获取图像文件的下载 URL 并将其添加到 Firebase 数据库中 URL 的形式为 https firebasestorage googleapis com v0
  • Python 格式抛出 KeyError

    以下代码片段 template function routes app model app get preNew className function req res res render className ejs
  • jQuery Knob 使用 animate 更新值

    我正在尝试使用 jQuery Knob 构建时钟 我的时钟正在工作 http jsfiddle net Misiu 9Whck 1 但现在我正在尝试添加一些额外的内容 一开始我想将所有旋钮设置为 0 然后使用animate我想将它们的值设置
  • 在先前的 Activity 之上显示新的 Activity,但仅部分覆盖先前的 Activity

    我有一个活动 A 它有一个 向下 按钮 见上图 当我按下此按钮时 我想在 Activity A 之上启动 Activity B 以便底部的 Activity A 的一些内容仍然可见 Activity B 可以依次启动许多其他 Activit
  • 在 Alpine Linux 上构建 glibc 时出错

    我正在尝试安装glibc在 Alpine Linux 上 我在 Docker 中运行 Alpine Linux 以下是我正在使用的步骤 docker pull alpine docker run it alpine bin sh apk a
  • ImportError:从 sklearn 导入 TfidfVectorizer 时无法导入名称 __check_build

    我正在使用 Python 2 7 10 并使用 pip 安装了 scikit 0 15 2 并且我已经安装了 numpy 1 1 10 和 scipy 0 16 0 并且它工作正常 但是当我尝试从 sklearn 导入 TfidfVecto
  • 在 app.config 中部署通过 RSAProtectedConfigurationProvider 加密的连接字符串

    如果开发人员在自己的计算机上使用 RSAProtectedConfigurationProvider 加密连接字符串 app config 部分 并且随后将其部署到用户的工作站 则该用户的工作站 或服务器 是否可以自动解密连接字符串 是否需