问题标签 [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.
c# - ProtectedData.Unprotect 用户更改密码后
我有一个 C# 应用程序,它使用ProtectedData
类将密码信息存储在数据库中。我使用的范围local machine
和据我所知它将DPAPI
用于master key
加密它,除非我卸载操作系统,否则它不会被更改。
假设我想使用 scope DataProtectionScope.CurrentUser
。据我了解,它使用不同 master key
的受用户密码保护的。因此,当用户更改密码时,用于保护数据的主密钥保持不变,而只是更改了保护数据的密码。
我的问题是:用户更改密码后,我的数据(在数据库中)是否可检索(以及如何检索)?
c# - 为什么 RecipientInfos 抛出 CryptographicException
我有一些加密和签名电子邮件的课程。
签名过程没有问题,但是当我尝试在 EnvelopedCms 实例上使用“加密”方法加密消息时,出现“无效加密消息类型”信息的异常。
我试图通过设置 Oid="1.2.840.113549.1.7.2" 在 contentInfo 中指定 ContentType,这是“signedData”类型(根据 msdn 库),但不起作用。
c# - RSACryptoServiceProvider 和 RSAPKCS1Signatureformatter 之间的区别
我试图了解 RSAPKCS1Signatureformatter 和 RSACryptoServiceProvider 类之间的区别,因为当我使用 RSAPKCS1Signatureformatter 对数据进行签名时,它返回的签名值与使用 RSACryptoServiceProvider 签名不同。
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。
如果您需要任何其他信息,请发表评论,我将提供。提前致谢。
c# - 检测 IsEncryptedString?
我们如何才能找到给定的字符串是加密的还是纯字符串?
老实说,这就是所有问题。例如,当我使用 DPAPI 加密使用数据保护时,当给定字符串已经是加密字符串或可能在解密调用之前,检查给定字符串是否已加密。
数据保护配置
服务将如下所示
.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 版本。我能做些什么?
- 是否可以生成自定义库版本
System.Security
?我用微软的源代码尝试过,但没有成功。 - 是否可以加载特定的程序集?两个程序集都是版本
4.0.0.0
,所以我不能使用Specific version
,因为从外面看是相同的版本。 - 任何人都知道该方法
RSACertificateExtensions.GetRSAPrivateKey(this X509Certificate2 certificate);
是否已在第三方库中开发?
cryptography - 将 System.Security.Cryptography.Xml 库添加到 .net framework 4.6 项目
我尝试通过 nuget 添加包,但出现此错误;
无法安装包“System.Security.Cryptography.Xml 4.4.2”。您正在尝试将此包安装到以“.NETFramework,Version=v4.6”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系包作者。
好的消息很清楚,但有一个代码和平,我把它移到我的项目中。我怎样才能使它工作?它需要这个库
c# - 如何在 C# 中编辑 DACL?
有没有类似的SetFileSecurity
功能?
我需要从 Python 重新编写一些测试,我被困在这部分。pywin32
在 Python 中,我可以使用(具有 C++ 实现的模块与 Windows API 一起使用)自由编辑 DACL 。我可以用win32security
.
将所有者更改为Everyone
? 好的。
删除继承的 ACE?简单的。
所有那些没有一些特殊权限的人。
但是如果我想在 C# 中做这样的事情。我发现的一种方法是使用纯 SDDL 更改安全描述符,但如果在没有特权的情况下调用System.Security.File.SetAccessControl()
withFileSecurity
则不起作用。此外,即使使用具有几乎所有权限的管理员令牌,如果我想以“错误”的方式更改某些内容(删除一些继承的 ACE),安全描述符也不适用。如果我尝试做一些“非常错误”的事情,比如将所有者设置为,则会引发异常。SetSecurityDescriptorSddlForm
SeSecurityPrivilege
Everyone
使用管理员令牌运行:
.net - 为什么 System.Security.Cryptography.Xml 不是 .NET Standard 2.0 的一部分?
我对命名空间中的几乎所有类型System.Security.Cryptography
都是 .NET Standard 2.0 的一部分这一事实感到有些困惑,但对于System.Security.Cryptography.Xml来说,需要依赖同名的扩展包。
有人可以在这里解释一下困难吗?如果问题只是没有足够的人员和时间,是否有计划将其包含在 .NET Standard 的下一版本中?
c# - 列出存储在 C# 中 System.Security.Claims.ClaimTypes 中的所有声明类型
使用 Asp.Net Identity 允许您向用户添加声明。System.Security.Claims.ClaimTypes允许您从各种 ClaimTypes中选择任何 ClaimType。
ClaimTypes是一个静态类,它定义了可以分配给主题的众所周知的声明类型的常量。
我想将所有这些声明存储在List<>中并将它们显示在ListBox中,以便具有Admin角色的用户可以在注册后将 ClaimType 分配给用户。
似乎我可以这样做,因为ClaimTypes是一个静态类,并且无法列出其中定义的那些常量。