问题标签 [system.security]

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 投票
2 回答
1135 浏览

c# - ProtectedData.Unprotect 用户更改密码后

我有一个 C# 应用程序,它使用ProtectedData类将密码信息存储在数据库中。我使用的范围local machine和据我所知它将DPAPI用于master key加密它,除非我卸载操作系统,否则它不会被更改。

假设我想使用 scope DataProtectionScope.CurrentUser。据我了解,它使用不同 master key的受用户密码保护的。因此,当用户更改密码时,用于保护数据的主密钥保持不变,而只是更改了保护数据的密码。

我的问题是:用户更改密码后,我的数据(在数据库中)是否可检索(以及如何检索)?

0 投票
0 回答
213 浏览

c# - 为什么 RecipientInfos 抛出 CryptographicException

我有一些加密和签名电子邮件的课程。

签名过程没有问题,但是当我尝试在 EnvelopedCms 实例上使用“加密”方法加密消息时,出现“无效加密消息类型”信息的异常。

我试图通过设置 Oid="1.2.840.113549.1.7.2" 在 contentInfo 中指定 ContentType,这是“signedData”类型(根据 msdn 库),但不起作用。

0 投票
1 回答
667 浏览

c# - RSACryptoServiceProvider 和 RSAPKCS1Signatureformatter 之间的区别

我试图了解 RSAPKCS1Signatureformatter 和 RSACryptoServiceProvider 类之间的区别,因为当我使用 RSAPKCS1Signatureformatter 对数据进行签名时,它返回的签名值与使用 RSACryptoServiceProvider 签名不同。

0 投票
1 回答
1821 浏览

c# - 如何解决 System.Security.Cryptography.CryptographicException:指定的提供程序类型无效

我已经开发了从我的应用程序访问谷歌电子表格。它可以正常工作几天但现在我遇到了一个例外

“System.Security.Cryptography.CryptographicException:指定的提供程序类型无效。”

我无法弄清楚问题是什么?我的代码在我的本地机器上运行良好,但在服务器中“出现异常”。

这是堆栈跟踪:

我已经搜索过,但没有找到确切的解决方案。我认为我的代码没有问题。

这是我的代码:

这是一个更新:
当我调试上面的代码时,我 '((System.Security.Cryptography.RSACryptoServiceProvider)certificate.PrivateKey).CspKeyContainerInfo.CryptoKeySecurity' threw an exception of type 'System.Security.AccessControl.PrivilegeNotHeldException'X509certificate2 证书处看到了一个异常。因此,我认为由于此异常,我指定了无效的提供程序类型。

以下是有关我的证书的信息:
1. 文件 .p12
2. Providertype 是 1
3. 使用算法是sha1rsa
4. 我的证书版本是v1

如果您需要任何其他信息,请发表评论,我将提供。提前致谢。

0 投票
2 回答
436 浏览

c# - 检测 IsEncryptedString?

我们如何才能找到给定的字符串是加密的还是纯字符串?

老实说,这就是所有问题。例如,当我使用 DPAPI 加密使用数据保护时,当给定字符串已经是加密字符串或可能在解密调用之前,检查给定字符串是否已加密。

数据保护配置

服务将如下所示

0 投票
0 回答
279 浏览

.net - 在 .NET 4.5 中使用 System.Security.dll .NET 4.6 库

我正面临一个有趣的情况。我有一个应用程序 FW 4.5 无法升级到 FW 4.6,因为在我们的服务器中我们没有安装该 Fw。

我需要使用一些仅在库 Fw 4.6 中提供的功能。System.Security.dll已经改进并且有一个我需要使用的扩展方法:RSACertificateExtensions.GetRSAPrivateKey(this X509Certificate2 certificate);

好吧,我尝试通过反射加载混凝土组件,将其放在混凝土路径中。我已阅读并检查过,如果程序集已签名,我总是会获得 GAC 版本,因此在未安装 FW 4.6 的服务器中,它将永远无法工作,因为它将转到 GAC 并检索 4.5 版本。我能做些什么?

  1. 是否可以生成自定义库版本System.Security?我用微软的源代码尝试过,但没有成功。
  2. 是否可以加载特定的程序集?两个程序集都是版本4.0.0.0,所以我不能使用Specific version,因为从外面看是相同的版本。
  3. 任何人都知道该方法RSACertificateExtensions.GetRSAPrivateKey(this X509Certificate2 certificate);是否已在第三方库中开发?
0 投票
1 回答
2853 浏览

cryptography - 将 System.Security.Cryptography.Xml 库添加到 .net framework 4.6 项目

我尝试通过 nuget 添加包,但出现此错误;

无法安装包“System.Security.Cryptography.Xml 4.4.2”。您正在尝试将此包安装到以“.NETFramework,Version=v4.6”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系包作者。

好的消息很清楚,但有一个代码和平,我把它移到我的项目中。我怎样才能使它工作?它需要这个库

0 投票
2 回答
1335 浏览

c# - 如何在 C# 中编辑 DACL?

有没有类似的SetFileSecurity功能

我需要从 Python 重新编写一些测试,我被困在这部分。pywin32在 Python 中,我可以使用(具有 C++ 实现的模块与 Windows API 一起使用)自由编辑 DACL 。我可以用win32security.

将所有者更改为Everyone? 好的。

删除继承的 ACE?简单的。

所有那些没有一些特殊权限的人。

但是如果我想在 C# 中做这样的事情。我发现的一种方法是使用纯 SDDL 更改安全描述符,但如果在没有特权的情况下调用System.Security.File.SetAccessControl()withFileSecurity则不起作用。此外,即使使用具有几乎所有权限的管理员令牌,如果我想以“错误”的方式更改某些内容(删除一些继承的 ACE),安全描述符也不适用。如果我尝试做一些“非常错误”的事情,比如将所有者设置为,则会引发异常。SetSecurityDescriptorSddlFormSeSecurityPrivilegeEveryone

使用管理员令牌运行:

0 投票
1 回答
1604 浏览

.net - 为什么 System.Security.Cryptography.Xml 不是 .NET Standard 2.0 的一部分?

我对命名空间中的几乎所有类型System.Security.Cryptography都是 .NET Standard 2.0 的一部分这一事实感到有些困惑,但对于System.Security.Cryptography.Xml来说,需要依赖同名的扩展包

有人可以在这里解释一下困难吗?如果问题只是没有足够的人员和时间,是否有计划将其包含在 .NET Standard 的下一版本中?

0 投票
1 回答
1920 浏览

c# - 列出存储在 C# 中 System.Security.Claims.ClaimTypes 中的所有声明类型

使用 Asp.Net Identity 允许您向用户添加声明。System.Security.Claims.ClaimTypes允许您从各种 ClaimTypes中选择任何 ClaimType。

ClaimTypes是一个静态类,它定义了可以分配给主题的众所周知的声明类型的常量。

我想将所有这些声明存储在List<>中并将它们显示在ListBox中,以便具有Admin角色的用户可以在注册后将 ClaimType 分配给用户。

似乎我可以这样做,因为ClaimTypes是一个静态类,并且无法列出其中定义的那些常量。