问题标签 [ecdsa]

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

java - Javacard 中的 ECDSA 签名

我正在使用 Javacard 中的 ECDSA 实现签名代码。

我的代码在异常部分输出 0x0003(NO_SUCH_ALGORITHM),这意味着这张卡不支持该算法。我不明白,因为我的供应商告诉我它支持 ECC。我得出结论,我不知道如何与 ECDSA 签约,我想知道这一点。

这是我的完整源代码

而APDU命令如下

我的开发环境如下。

  • 操作系统:Windows 7
  • JCDK 版本 2.2.1
  • JDK 版本 1.4.2
  • 芯片:恩智浦
  • 终端:ACR122 NFC 非接触式智能卡读卡器

我已更改代码以设置域参数。但是卡仍然输出相同的结果(0x0003)。这是我的完整源代码。

0 投票
2 回答
16369 浏览

java - 使用 secp256r1 曲线和 SHA256 算法生成 ECDSA 签名 - BouncyCastle

我正在尝试使用 ECDSA 和 secp256r1 曲线(P256)和 SHA256 算法为消息哈希生成签名。我也在使用 Bouncy Castle 库。下面的代码,

这里的密钥对是使用 KeyPair 生成的,但是根据我的要求,我将拥有一个静态的 privateKey 和 public 密钥。此外,签名验证总是返回 false。

需要帮助,我怎样才能拥有静态私钥和验证部分。

0 投票
3 回答
7551 浏览

format - 定义 ECDSA 签名数据的规范

我想知道什么规范(或标准)定义了ECDSA签名和公钥的数据格式?

我正在测试 java 卡上的 ECDSA 签名。我发现签名和公钥值中有TLV格式。

我认为数据格式是在某些规范或标准中定义的。我只想知道文档名称。

0 投票
1 回答
2024 浏览

c# - 使用 X509Certificate2 签署和验证 ECDSA-SHA256 签名

我曾经OpenSSL使用SHA256. 现在我想使用这些证书来签署数据并验证现有的签名。

我尝试使用DSACryptoServiceProvider,但它只支持SHA1or MD5

但似乎ECDsaCng是能够支持的ECDSA-with-SHA256。我唯一的问题是我不知道如何将私钥和公钥从 myX509Certificate2转换为必要的CngKey. 我读了另一个问题,其中有人描述了如何转换公钥。但为了能够签署数据,我也需要私钥。

那么有没有办法从CngKey私钥和公钥中取出X509Certificate2证书有不同的格式。我将它们作为 PFX 文件并分别作为 CER 和 PEM 文件。

我宁愿坚持使用.NET Framework 4,但如果根本无法使用它,我也会切换到Bouncy Castle.

0 投票
1 回答
1589 浏览

ssl - 生成 ECDSA SSL 通配符证书

我正在努力生成用我自己的 CA 签名的 ECDSA SSL 通配符证书。

我正在使用这些命令:

使用此请求配置(server.conf):

当我使用生成的 server-ca.crt、server.key 和 server.crt 配置 Apache 或 nginx 时,我无法使用 HTTPS 进行连接。

这是我尝试连接时的 openssl 输出:

无论我使用哪条曲线,我总是无法连接。但是,当我使用 RSA 密钥而不是 ECDSA 时,一切正常。

这是我的 nginx 配置:

我究竟做错了什么 ?

0 投票
2 回答
727 浏览

c++ - 如何使用证书中的公钥检查 ECDSA(在 p-256 上)签名

我有证书和 ECDSA(在 p-256 上)签名。现在我想使用提供的证书验证这个签名。我使用 c++(在 Windows 上)。无法使用托管代码 (.NET)。我发现 CryptoAPI 不支持 ECDSA,所以我应该使用 CryptoAPI NG (CNG)。但是我找不到如何将公钥从证书导入到 CNG。

你能帮我解决我的问题吗?谢谢

0 投票
2 回答
146 浏览

elliptic-curve - jarsigner 支持哪些椭圆曲线?

我将使用 ECDSA 密钥对 JAR 进行签名,现在我可以选择要使用的椭圆曲线。我至少需要能够生成签名jarsigner。我在哪里可以看到,椭圆曲线jarsigner支持什么?

我测试了在我的 OpenSSL 安装支持的 65 条椭圆曲线中,我的 jarsigner 支持 46条。关于 jarsigner 的 Oracle 文档没有说明支持的内容。它是否记录在任何地方?

0 投票
0 回答
405 浏览

c - openssh ecdsa 签名验证但错误

我写了一些 C 代码女巫应该签署一个哈希。它似乎工作正常;签名,生成公钥并正确验证。但随后将签名结果用于另一个工作代码给我一个密钥验证错误(该签名用于比特币交易)

测试代码运行良好,它可以签名和验证,还使用了第三个库(比特币自己的实现),它再次运行良好。

所以我使用 OpenSSH 的方式有一个错误,但我找不到它。任何帮助表示赞赏,谢谢。

这里编译的符号生成器gcc -g -lssl -lcrypto

0 投票
1 回答
4210 浏览

java - 错误解码签名字节:“java.security.SignatureException:错误解码签名字节”

尝试在课堂上验证 ECDSA 签名时出现此错误。错误代码是:

我在 VerificationBox.java 类中这样调用该方法:

这是 SDSGeneration.Signing 类:

我编写了一个测试类来测试 SDSGeneration.Signing 代码和一切运行良好、签名和验证数据,但是在我的项目中导入和使用它时,出现以下错误。这是测试类代码:

0 投票
2 回答
2309 浏览

c++ - 在给定曲线和私有指数的情况下创建 ECDSA 私钥?

我是 cryptopp 的新手,并且一直在为 ECDSA 签名创建私钥而苦苦挣扎。

我有一个十六进制编码的私有指数E4A6CFB431471CFCAE491FD566D19C87082CF9FA7722D7FA24B2B3F5669DBEFB。这存储为字符串。

我想用它来使用 ECDSA 签署一个文本块。我的代码看起来有点像这样

当我尝试执行 privateKey.load(...) 时,此代码会在 Visual Studio 中生成以下错误

我猜我在做一些有点愚蠢的事情......任何帮助都会很棒???

PS 我在使用 ECDH 生成 GMAC 时遇到了类似的问题,但是通过将密钥保存为 SECByteBlock 来解决这个问题,但这种“技巧”在这种情况下似乎不起作用。