问题标签 [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.
android - 尚未实施:DSA 公钥
我正在编写服务器和 Android 客户端应用程序。Android 客户端将测量值发送到服务器。为了确保数据的完整性,每次测量都会附加一个数字签名。
因为我需要所有东西都与 Gson 兼容,所以存储公钥本身是不可能的。我正在存储 G、P、Q 和 Y 因子。
这是请求类的一个片段:
构造函数使用 setPublicKey 方法。当我在客户端创建此类请求并将其发送到服务器时,两者都会导致异常。
在客户端:
堆栈跟踪中的下一件事指向我标记为 B 的规则
在服务器上:
接下来指向规则 A。
我完全不知道我做错了什么以及这些消息意味着什么。我该如何解决这些?谁能告诉我我做错了什么?
非常感谢。
http - 实体签名的 HTTP 标头
有一个标准标头用于给出 HTTP 请求正文的摘要 ( Content-MD5
)。
是否有一个常用的标头名称来包含摘要的 DSA 签名(使用 生成openssl dgst -dss1 -sign <keyfile>
),还是我只需要发明一个特定于应用程序的标头名称?
c# - 验证由 IHO S-63 方案签名的 DSA 签名
我正在尝试验证ENC(电子导航图)的签名。这些文件使用带有 SHA1 的 DSA 的证书进行签名。
单个 ENC 的签名文件如下所示
//签名部分R:
0DA3 AFDB CE55 B926 00D6 D97A ADE2 CAAF 8AD1 51C3。
//签名部分S:
1A25 7FDD B1E9 FE28 AE12 15CE 4DF8 7616 3E32 4312。
//签名部分R:
53AA DA93 CEA4 162D 01A1 BDB3 2A66 D9A7 9D4A 02F8。
//签名部分S:
7DF3 9C2C EB93 73C6 CC2C 65A1 AE7C C7D6 5BCB BFBA。
//大p
FCA6 82CE 8E12 CABA 26EF CCF7 110E 526D B078 B05E DECB CD1E B4A2 08F3 AE16 17AE 01F3 5B91 A47E 6DF6 3413 C5E1 2ED0 899B CD13 2ACD 50D9 9151 BDC14 3EE7 3759。
// 大 q
962E DDCC 369C BA8E BB26 0EE6 B6A1 26D9 346E 38C5。
//大g
6784 71B2 7A9C F44E E91A 49C5 147D B1A9 AAF2 44F0 5A43 4D64 8693 1D2D 1427 1B9E 3503 0B71 FD73 DA17 9069 B32E 2935 630E 1C20 6235 4D0D A20A 6C41 6E50 BE79 4CA4.
// 大
AA25 DF9E C3CA 96B7 9D01 3ED8 D572 D47C B3F3 80D0 731D EA47 B106 26BA C387 C1FA 3C33 EC55 6845 3744 76BE 5825 6E07 A74D 607F 7A5E 7B210 3455 71CBF.A74D 607F 7A5E 7B210 3455 74CBF8
以下文本摘自 IHO S-63 规范。完整的 PDF 链接在这里。
5.4.2.7 ENC 签名文件格式
签名文件必须包含签名和证书对。仅带有签名的文件是无效的,因为它不能证明数据服务器的身份。ENC 数字签名文件的格式、结构和顺序如下例所示:
第二个 R 和 S 对用于验证数据服务器数字证书(p、q、g 和 y 字符串)。如果验证成功,可以提取数据服务器公钥(y 字符串)并用于验证加密 ENC 的数字签名(第一个 R 和 S 对)。这允许数据客户端验证 SA 数字证书,提取数据服务器公钥,并验证 ENC 数据的数字签名。
我从现有实现转换的代码执行以下操作:
使用 p、q、g 和 y 的字节数组值初始化一个新的 DSACryptoServiceProvider(空格和尾随 . 已删除)
将签名文件(包括标题)的 BIG P、Q、G 和 Y 部分作为字节数组读取,然后对数组进行 SHA1.Hash。
取以下字符串的字节数组
并打电话
可以说我还没有设法验证 p、q、g 和 y。有人可以向我指出一个很好的文档、示例来源,或者只是解释我所缺少的。
谢谢,本。
c# - DSACryptoServiceProvider.ToXmlString 抛出“指定的标志无效”异常
我正在尝试使用 DSACryptoServiceProvider 生成密钥对。
这是代码:
在dsa.ToXmlString(true);
我收到以下异常:Invalid flags specified。怎么了?
hash - PGP 散列的数据长度
我终于设法验证了一些简单的 PGP 签名消息块。但是,我发现由于某种原因,我的实现限制了我验证 9-16 字节长的数据。不少于。不再。
是否有一些指令(RFC4880或其他地方)指定如何处理任何长度的纯文本数据?也许我错过了某种填充?PKCS1?
我很确定我将数据格式化为正确散列,因为 RFC 4880 sec 5.2.4 中的说明针对文本文档,只需将所有内容替换\n
为\r\n
并添加预告片。由于我的测试值是单行数据,因此无需替换任何内容
除非另有说明,否则所有这些值都以 10 为基数:
不工作:
在职的:
我没有在哈希中包含哪些数据/我做错了什么?
编辑:这是所要求的公钥,即使相关值已经发布)
java - Java中的DSA数据转换
我想检查公钥是否对应于私钥 - 是否正确。
也没有称为 BC 的提供商。我有这个实现,但我不知道 Utils.createFixedRandom() 应该做什么。我没有这样的库和方法。
此外,如果您有一个没有 java.security 的原始实现,那就太棒了。
java - DSA 算法 - 数字签名
前一天,我一直在寻找 DSA 的正确 Java 实现,而没有使用 java.secure 和任何其他 java.secure 类似的库(我已经多次使用 java.secure)。
我用谷歌搜索,继续维基,但找不到准确和清晰的描述。如果你有它的实现,请分享。这不是家庭作业——学校放暑假了,但这对我很有帮助。
我已经完成了 RSA,但 DSA 对我来说更重要。
感谢您的帮助!
DSA:http ://en.wikipedia.org/wiki/Digital_Signature_Algorithm
android - Android:DSA 签名 - 签名和验证
我在验证刚刚创建的签名时遇到问题。签名后,我首先使用 Base64 将签名转换为文本,作为测试,我想验证我是否可以解码 Base64 并验证签名。这失败了。这是一些没有错误处理的代码。
我有我的密钥对:
现在我签署一些文本并打印到日志输出 - 看起来很好:
现在我使用上面创建的 SignedObject 对象而不是 Base64 来验证签名。这是成功的:
对于我的应用程序,我将只有签名者的公共证书和 Base64 编码字符串,因此我必须仅使用这些参数验证签名,因此 AFAIK 不能使用 SignedObject 对象。我使用了 Signature 对象:
此验证总是失败(b = false)。
java - 在DSA算法java中生成P
你能告诉我我是否正确吗?我想p
在DSA
算法中生成。我不明白:|| pTemp.bitLength() != l
在do while
声明中,因为这意味着我只在寻找1
2、5、7 的数字素数?这是胡说八道。
php - 使用 PHP 在 SAML 2.0 中进行 DSA 签名检查
我已经检查过 SO 并四处搜索,但到目前为止还没有找到答案。我使用 SAML 2.0 作为服务提供商,并嵌入了php-saml - 首先使用了 simplesamlphp,但发现嵌入起来有点困难。
IdP-s 响应带有签名
看起来 xmlseclibs 不支持 dsa 签名。
问题 A:有什么建议可以用来验证 dsa 签名吗?
问题 B:只是好奇其他人为 SAML 使用什么库。我刚刚在 simplesamlphp 上花了大约 20 分钟,发现它完全依赖于它自己的 URL 结构并且是一个适当的网络服务器端点,而不仅仅是一个库。
干杯