问题标签 [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 投票
1 回答
1890 浏览

c# - 无法加载文件或程序集“System.Security.Cryptography.Xml”

我在 .net 标准 2.0.3 中有类库项目,我在其中使用System.Security.Cryptography.XmlprivateRSAkey 签署 xml 文档。

现在,当我打电话时,GetXmlSign(doc, rsa);我得到了下面的异常。

System.IO.FileNotFoundException:'无法加载文件或程序集'System.Security.Cryptography.Xml,Version=4.0.1.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51'或其依赖项之一。该系统找不到指定的文件。'

NuGet

在此处输入图像描述

注意:没有版本=4.0.1.0 的 Nuget "System.Security.Cryptography.Xml"

0 投票
1 回答
53 浏览

cryptography - AES 密钥是否足够好?

调用该System.Security.Cryptography.Aes.Create(algorithmName)方法时,会生成一个新的密钥和 IV。这些足够好用吗?

0 投票
1 回答
326 浏览

cryptography - 将密码转换为 256 位密钥

我有一个使用 256 位(或 128 位)密钥的 AES 加密文件。传递给并要求文件所有者保留 256 位密钥将是人类的困难。

所有者如何使用更友好的密码来记住或检索实际的 256 位密钥?

0 投票
1 回答
22 浏览

system.security - 设置 Aes KeySize 会生成新密钥吗?

根据微软关于 System.Security.Cryptography.Aes 的文档KeySize,可以通过设置属性来简单地更改密钥大小。

更改密钥大小是否会自动生成新密钥大小的新随机密钥?文档不清楚。

0 投票
1 回答
124 浏览

c# - System.Security.Cryptography 的 DeriveKeyFromHash() 实际上做了什么?

我正在 C# 应用程序和用 C 编程的嵌入式设备之间实现安全交换。 System.Security.Cryptography 没有关于其任何加密算法“在幕后”做什么的文档。为了在 C 中实现相同的东西,我需要知道这一点,为此我有更多的基本库。具体来说,我想知道 ECDiffieHellman.DeriveKeyFromHash(HashAlgorithmName.SHA256) 做了什么。

我尝试过跟踪 API,但它以调用 ncrypt.h 中的非托管 NCryptDeriveKey 结束。

该方法似乎不是简单地执行共享密钥的 SHA256 哈希。我在 C 端做了这个,我得到了不同的值。我知道在 C# 端收到的公钥是有效的,否则之前的方法会引发异常。我猜数据是按照一些 NIST 文件的规定附加或附加的,但情况是这样吗?还是我还缺少其他东西?

编辑:原来我在 C 端做错了什么。对 C# 行为的额外确认有助于缩小搜索范围。

0 投票
0 回答
150 浏览

c# - C# 获取 System.IO.FileNotFound 异常

我正在尝试用 C# 创建一个可以操纵鼠标光标的程序。当我在 main 中调用该方法并运行程序时,我得到一个 System.IO 异常。

我在 Visual Studio 2019 中执行此操作。要运行以下方法,我正在使用System.Windows.FormsSystem.Drawing. 我都参考了。

此方法的预期结果是将光标打印到方法中指定的坐标。当我运行程序时,我在第五行得到了这个异常:

0 投票
1 回答
305 浏览

c# - 尝试在 .NET 4.7.2 中使用带有 SHA1 的 CertificateRequest 创建自签名证书时出现 ArgumentOutOfRangeException

我需要为不支持 SHA256 的旧旧系统生成 SHA1 哈希证书。我很清楚不建议在加密场景中使用 MD5 和 SHA1 哈希,但这是一个外部要求。

我正在使用 .NET Framework 4.7.2 及其新的CertificateRequest类。

这是相关的代码片段:

certificateRequest.CreateSelfSigned被调用时,它会抛出以下异常:

堆栈跟踪中的相关点是:

从我正在使用的构造函数的.NET API 浏览器中,即使不推荐,我也看不出为什么这不起作用。使用 MD5 会引发类似的异常。SHA256 及更高版本工作正常。

该类CertificateRequest也没有显示在参考源中(可能是因为它太新了?)所以我没有想法。

0 投票
2 回答
327 浏览

c# - 在 .Net Core 中使用 .Net Framework 类

大家好!

我正在开发一个 .Net Core 类库项目,但我必须使用 .Net Framework DLL 中的一个名为 的类,该类System.Security在 Core 中不可用。(该类是SignedXml.csinSystem.Security.Cryptography.Xml命名空间。-是的,我知道 Core 中也存在命名空间和类,但SignedXml不一样,有一些私有字段丢失(m_refProcessedm_refLevelCache)。)

我必须使用旧课程。

是否有任何解决方案可以System.Security在我的核心项目中导入并扩展SignedXml类?或者只是导入SignedXml类?

谢谢!

0 投票
1 回答
115 浏览

c# - 用于 Triple DES HMAC 的 Openssl 命令行,例如 C# MACTripleDES

谁能解释如何在 OpenSSL 命令行中制作 TDES MAC?

我试图在 C 中为 OpenSSL API 复制一个工作 C# 程序的一些功能,并且在 openssl 中复制 .Net MACTripleDES.ComputeHash 函数时遇到了麻烦。这是一个带有虚假数据和密钥的示例:

结果是“Bogus Signature = A056D11063084B3E” 我的新 C 程序必须提供该数据的相同散列,以便与其更广泛的环境进行互操作。但是在 openSSL 中执行此操作的方法让我难以理解。这表明 openssl 数据开始时与 C# 数据相同:

字符串化,001000000000000000000000000000008000000000000000 匹配 c# 字符串。

该数据太长,我预期的数据不是子字符串。-sha1 等也一样。我尝试分别加密和制作摘要,不好。MS没有说它做了什么样的哈希,我找不到关于如何在openssl中使用TDES设置MAC的文档。

所以我希望这里有人对这两个平台有足够的了解,能给我一个体面的提示。

0 投票
0 回答
94 浏览

c# - 从 System.Security.Cryptography 获取相同的加密字符串

我想在下面的加密代码中进行更改,以便它一次又一次地为给定文本提供相同的加密字符串。

例如输入字符串:“test”

输出加密字符串:“@#$#@$@#$SDFDSF”

如果我一次又一次地输入“测试”,输出应该是相同的。