问题标签 [rsaprotectedconfiguration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1778 浏览

asp.net - ASP.NET - 加密配置部分 - ProtectSection - RSAProtectedConfigurationProvider

我正在使用 vs2008 开发一个 Web 应用程序,并在 Vista 64 位上使用了两个帐户 - Vista 安装后的原始第一个管理员帐户,现在是一个高级用户帐户。

我忘记了我做了什么,但是当我在原始帐户下运行 SectionInformation.ProtectSection (System.Configuration) 时,配置部分的加密工作并从中读取。

当我在高级用户帐户下运行它时,它给了我一个错误 - 对象已经存在,我无法从中读取 - 我得到:无法打开 RSA 密钥容器。

如何授予高级用户运行 ProtectSection 的权限?使用 RSAProtectedConfigurationProvider。

0 投票
1 回答
572 浏览

asp.net - 使用 RsaProtectedConfigurationProvider 在 asp.net 中加密/解密

加密工作正常。但是现在我收到一个错误,上面写着“RsaProtectedConfigurationProvider Bad Data”检查时,我知道我们需要运行命令:aspnet_regiis -pa“NetFrameworkConfigurationKey”“NT AUTHORITY\NETWORK SERVICE”

我的问题是,如果我在生产环境中运行此命令,它是否会影响托管在同一服务器上的任何其他网站。由于它是对 machine.config 文件的更新,是否会影响其他一些事情?

0 投票
1 回答
1298 浏览

winforms - 为 WinForms 应用程序加密 app.config 中的连接字符串

我在 Web 和 WinForms 应用程序之间使用通用数据库代码。我研究并制定了如何加密 web.config 和 app.config 文件的连接字符串部分。那部分没问题。我还想出了如何在我的 Azure Web 应用程序中解密连接字符串,没关系。将 .pfx 文件加载到机器的证书存储区后,我还可以在我的 WinForms 应用程序中读取连接字符串,但在我重新启动后它会失败,因为它在 pfx 文件中找不到私钥。

我正在使用使用以下命令创建的证书:

makecert -r -pe -n "CN=myconfig" -sky exchange "myconfig.cer" -sv "myconfig.pvk"

pvk2pfx -pvk "myconfig.pvk" -spc "myconfig.cer" -pfx "myconfig.pfx" -pi

这给了我 3 个文件:myconfig.pvk、myconfig.cer、myconfig.pfx

我认为问题是私钥没有存储在 pfx 文件中,并且每次重新启动后都需要重新验证 - 但我对加密知之甚少,不知道如何做到这一点。此外,WinForms 应用程序非常有限地分发到受控机器上,所以我想手动安装每个证书。

我是加密的新手并且被卡住了。我可以将 .pfx 文件加载到机器上,输入私钥(我知道但不会告诉用户)并永久存储吗?我是否遗漏了一些东西-我应该安装不同的证书文件还是生成它的方式?我不想让私钥可以访问。如果有人窃取了 app.config,我不希望他们能够解密它。

注意:我已阅读有关 RsaProtectedConfigurationProvider 和 DPAPIProtectedConfigurationProvider 的信息。我选择使用 PKCS12ProtectedConfigurationProvider 因为它适用于 Azure,参考:http: //blogs.msdn.com/b/sqlazure/archive/2010/09/07/10058942.aspx

0 投票
2 回答
2126 浏览

c# - ProtectedConfigurationProvider 使用 Rsa 和 x509 证书

我是新手,所以请多多包涵。我正在尝试使用RsaProtectedConfigurationProvider加密/解密 .config 部分

如果我错了,请纠正我,但根据我一直在阅读的内容,我需要执行以下操作:

  1. 从该证书中获取证书和公钥

    /li>
  2. 将此信息加载到容器:不确定如何执行,因为下面的示例不考虑证书

http://msdn.microsoft.com/en-us/library/tswxhw92(en-us,VS.80).aspx

  1. 然后在我的 App.Config 中指定相同的容器名称:
  1. 然后只需运行将使用该 KeyContainer 的代码并对其进行加密/解密:

这个对吗?。如果是这样,我该怎么做?不确定如何从证书中获取这些密钥并将它们加载到 KeyContainer 中。

谢谢

0 投票
1 回答
378 浏览

c# - .config 文件中的 Unity 部分使用受保护的配置提供程序

在我的应用程序配置中,我使用的是 RSA 保护配置提供程序,在将其与 connectionStrings 部分一起使用时一切正常,但在 app.config 中与 unity 部分一起使用时一切正常。每当我尝试拨打此电话时:

我明白了;

加密后的 App.Config:

是什么赋予了?

0 投票
1 回答
3822 浏览

asp.net - Windows 服务无法打开 RSA 密钥容器

一些背景:

我有一个解决方案,包括:

  • IIS 应用程序 (ASP.NET)
  • 视窗服务

IIS 应用程序和 Windows 服务都在同一个域帐户下运行。它们还连接到同一个数据库。

数据库访问凭据存储在一个通用配置文件中,并使用aspnet_regiis.exe工具进行加密。ACL 权限授予对域帐户的密钥容器的读取访问权限。

Web 应用程序可以访问密钥容器并解密连接字符串。

另一方面,该服务无法访问 RSA 密钥容器。我得到错误:

尝试连接数据库时出现意外错误;异常:System.Configuration.ConfigurationErrorsException:无法使用提供程序“RsaProtectedConfigurationProvider”解密。来自提供程序的错误消息:无法打开 RSA 密钥容器。(C:\ApplicationDir\ConnectionSettings.config 第 2 行)---> System.Configuration.ConfigurationErrorsException:无法打开 RSA 密钥容器。

解决方法:

  1. 将域帐户添加到管理员组(哎呀!)
  2. 将域帐户添加到 IIS_IUSRS 组
  3. 更改所有人组上的权限条目。默认情况下,读取权限仅应用于此文件夹。将此值更改为此文件夹、子文件夹和文件似乎有效。
  4. 在MachineKeys文件夹中为域帐户添加权限条目

我倾向于选项2,但这里到底发生了什么?

为什么应用程序池可以在所述域帐户下运行,而不是在同一域帐户下运行的 Windows 服务?

这是在某些情况下域帐户不被视为所有人组的一部分的情况吗?

处理这种情况的最佳做法是什么?

谢谢,凯文

0 投票
0 回答
120 浏览

asp.net - 如何在不使用 ASP.net 的情况下加密连接字符串

我创建了一个 Windows 库来从文件和一些自定义过滤器中读取数据,向 SQL Server 上的数据库添加、删除、更新数据。而且我的库需要应用程序配置,它需要放入连接字符串,因为这个库实际上连接了多个数据库。

如果我要部署到我的数据库服务器,出于安全目的,我需要对我的连接字符串进行加密。我已经阅读了很多关于堆栈溢出的讨论,但其中大多数都在使用RsaProtectedConfigurationProvider,这需要我的数据库服务器拥有 IIS 服务器来进行解密。但情况是我的数据库服务器没有在 Windows 组件上添加 IIS,因为它需要打开一个新端口,这意味着打开一个通往服务器的新线程。

所以我现在的挑战是在不使用任何 ASP.net 加密工具的情况下对我的应用程序配置进行加密。我还有其他方法可以进行加密吗?

0 投票
1 回答
18848 浏览

c# - 如何使用 RsaProtectedConfigurationProvider 加密/解密配置文件部分

在我的配置文件中,我有一些敏感信息我想加密以提高安全性。

这是我的代码(按预期工作):

.config:

.config 加密看起来像这样:

我有以下问题: 让诸如此类的信息安全吗?

在 .config 中?

不能用这些信息解密吗?文件加密后,您能否确认我可以评论此行:

当我尝试在使用此行加密文件后获取用户名值时:

即使我的文件现在已加密,我也会得到解密的值。我不明白为什么...

谢谢您的帮助

0 投票
0 回答
94 浏览

c# - dotnet core 3 中的受保护配置

我在 Microsoft SQL Server Management Studio 中有一个数据库,并希望将其包含在我正在处理的项目中。当然,我可以将连接字符串与所有数据放在 C# 程序本身中,但如果可能的话,我希望这样做更安全。我查看了受保护的配置,并且正在使用 Microsoft 的以下代码:RsaProtectedConfigurationProvider。但是,当我尝试加密 app.config 时,出现异常config.save(ConfigurationSaveMode.Full);并显示以下消息Inner exception ConfigurationErrorsException: Invalid key value.

这是我使用的 app.config:

为了确保我有适当的权限加密我以管理员权限运行应用程序的部分,方法是在 app.manifest 中使用以下代码:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

所以我的问题是如何保护配置以及如何访问配置以与数据库建立连接?