问题标签 [dsa]

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 回答
82 浏览

dsa - 如何将 DSA 私钥转换为 byte[] ?

有没有办法在java中将DSA私钥转换为字符串或字节[]?

0 投票
1 回答
474 浏览

openssl - 如何使用 openSSL 从 KeyInfo 加载 DSA 密钥

我正在尝试使用 openSSL 验证 XML 数字签名。当我实际使用 EVP_VerifyFinal 时,我得到错误代码 0D07209B (ASN1_get_object:too long)。他是我从证书加载 KeyInfo 的方式:

我加载 PDSA 的(伪代码)方法:

在此之后使用 BN_bn2hex 会给我以下值:

,验证签名:

这是我验证签名的方法:

验证最终返回以下错误:

所以要么我错误地加载了证书或签名值。根据规范,签名值是“签名值由两个八位字节流的连接的base64编码组成,这两个八位字节流分别由按顺序对值r和s进行八位字节编码产生” - 但我在任何地方都找不到openSSL 文档应该将什么传递给 EVP_VerifyInit 以获得 DSA 签名的签名值。据我所知,我在一封电子邮件存档中找到了一个指向 RFC 3279 的参考,它似乎指定了相同的格式(Dss-Sig-Value ::= SEQUENCE { r INTEGER, s INTEGER }

0 投票
1 回答
16030 浏览

java - java程序中的java.security.spec.InvalidKeySpecException和不适当的密钥规范错误

作为项目实施的一部分,我做了: 1. Generete DSA 密钥 2. 使用 AES 加密私钥 3. 保存到文件中 4. 打开文件并读取加密的私钥 5. 我尝试转换读取的值成主键格式

当我尝试执行上述代码时,它显示以下错误!

输出画面截图

0 投票
0 回答
347 浏览

python - 在 SAGE 中执行两个整数环(具有不同的模数)之间的算术运算

我正在尝试使用 DSA (DSS) 在 Sage 中对测试消息进行数字签名。运行我的代码后,我得到:

违规行是:u_2 = mod(r*w,q)r我认为这里的问题是我在乘以w

然而,这两者都是mod q。为什么我不能对它们进行乘法运算?我必须做某种类型的演员吗?

这是完整(仍然很小)圣人表的链接:http: //i.imgur.com/dX7PKHi.png

0 投票
1 回答
530 浏览

java - 验证签名,验证返回 false

我已经搜索了论坛和答案,但我无法弄清楚我的问题,我正在尝试验证签名,但它总是返回 false,我做错了什么吗?我生成密钥,签名然后验证它(字节数组不为空)

0 投票
1 回答
1448 浏览

python - 使用库 pyOpenSSL 使用 DSA 签署消息

这是我在这里的第一个问题,因为我还没有找到解决方案。希望有人对此问题有答案。

我尝试使用 DSA(数字签名算法)和 pyOpenSSL 包装器对消息进行签名和验证。

我在下面创建了一个示例:

运行这段代码后,我会得到以下结果:

0 投票
2 回答
3278 浏览

java - 如何在充气城堡(Java)中读取 DER DSA 私钥到 AsymmetricKeyParameter

如何将带有私有 DSA 密钥(4096 位)的 DER 文件读入 AsymmetricKeyParameter 以在 DSASigner 中使用?

我尝试了以下代码:

结果是一个例外:

0 投票
2 回答
237 浏览

c# - .NET 3.5 Cryptography 实现和 Mono 2.x 实现之间的区别?

我在 Mono (Unity 4.5) 和 MS .NET 下编译和运行相同的代码:

私钥是从磁盘加载的,在 Mono 和 MS .NET 版本中,“privateKey”中加载的字节和设置的整数是相同的。

在 .NET 版本中,dsa.ImportParameters 会引发“错误数据”异常。

我努力了

  • 不同的 .NET 设置(最低 3.5,AnyCPU/x86/x64)
  • 不同的键(有些会抛出,有些不会,但是当我验证它们时,.NET 签名总是(?)无效,而在 Mono 中使用相同的键和相同的消息生成的那些可以正常工作。)

MS DSA 的实现方式和 Mono 的实现方式之间是否存在一些根本的潜在差异,这可能会导致这种情况..?

任何灯棚都是最受欢迎的……这有点让人头疼……

更多信息:

  • 密钥在 Java 中生成并在从 DER 格式转换为与 .NET 一起使用后导出(P1363;只是一个接一个的大整数)
  • 使用 BinaryReader 从磁盘加载密钥,并将整数值作为 byte[] 加载到 DSAParameters(P、Q、G 和 X)中
  • 公钥加载到 Java 应用程序中,该应用程序使用 Oracle 实现来验证签名
  • 所有 C# 代码都是“对称的”,即在 Mono 和 MS .NET 应用程序中都按原样使用。

更新 2

好吧,我不会发疯的;今天早上我又试了一次;相同的 .NET 应用程序在 Mac 上运行(使用 Mono Develop,普通香草)和一个在 Windows 上(Visual Studio 2010)。加载相同的私钥字节,相同的代码路径(至少就 C# 而言) - 仅在 Windows 上出现相同的“坏数据”异常。这是关键:

...

0 投票
0 回答
260 浏览

encryption - X.509 证书中的 dsaEncryption 是什么意思?

我制作了一个带有 DSA 密钥的签名证书,它有以下让我好奇的字段:

公钥算法:dsaEncryption

AFAIK,DSA 不适合加密。那么这代表什么?他们是指 ElGamal 加密还是什么?我花了一个多小时搜索规格等,但我仍然不知道。

特别有趣的是,如果将这样的证书提供给 openssl 函数 EVP_PKEY_encrypt_old(),那么它可以工作(不会失败)。我发现这很有趣,因为在我找到的源代码中,它们只处理 RSA 加密。

这里发生了什么?

任何帮助都将不胜感激。

0 投票
1 回答
495 浏览

c++ - 编写一个程序,将表达式 ab + cde + * * 转换为使用堆栈的表达式树。

描述 我不知道怎么做这个任务....但是我刚刚创建了一个树并输入了值..任何人都可以帮我完成这个任务...堆栈也是节点类型的,我们必须推送像 ab+ 这样的运算符的值,所以我们将 a 作为节点,然后 b 作为节点,当 + 到来时,我们创建一棵树,a 和 b 将是它的叶子节点。

。代码

.主类: