dsaSign,不适用于私钥

问题描述

我正在使用FastSpring的许可证生成器,它们的文档非常差,尤其是在JavaScript函数dsaSign(arg1,arg2)上,其解释如下:

dsaSign(arg1,arg2)

arg1是PEM格式的512或1024字节DSA密钥。 arg2是要签名的字符串。返回Base64字符串。

我访问了https://8gwifi.org/dsafunctions.jsp,以创建测试DSA 1024私钥,例如

-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQC+4a7B9iSKIW262/R/2+St9j1CWoyWXEAHphzSFXSVNbSPWUvW
bsX43B6wFW+r1bSOU9bNnArvh8PZnRWC9+kg+WbXoJPIbpkU/rjA4D9VkrcI3HcH
VlbNDGxCbue8MpLPOks8QMzY+eaNI+Uvwpf5fdSR+AfEIitcL51alWXrzwIVAMc1
fiVC76ZinbyCC5+o6nZBx6SVAoGABmXB1tE2dZy2Ck9d64rljX293OQianF6ZH/V
zNND8KPhq+NnMF3X7hC+39MF9/KSitvuTK3tlj9zuPZlooKQSGjlUSxWIDWYz1/W
Ogt5/rxS3CGlu8NIXd2IFIaiQJq8vAoTD+wYqPPZn6UkEwwD3Zqnk9f/KDz3LW3P
HQd0yekCgYBHn8n0MYPK3NzNk05SsiXsz4GZhNvU/Q0MqP9fF7fmNCS2e4Ri4LJI
qFg65dpkB0BKhnuEwN26QipGnY952gBOf9ut4HBoTGIu+uK1ae2cf5V2BmR0/ZV6
V1Aui3hZ65/itto9P3waSciyD2Mtql7G11DQIgjyJ/g+hv9Os+14TwIVAJKBsT8T
Pj2rxwbMOOBerrI2w+L3
-----END DSA PRIVATE KEY-----

这是我的示例代码:

var key = "MIIBuwIBAAKBgQC+4a7B9iSKIW262/R/2+St9j1CWoyWXEAHphzSFXSVNbSPWUvWbsX43B6wFW+r1bSOU9bNnArvh8PZnRWC9+kg+WbXoJPIbpkU/rjA4D9VkrcI3HcHVlbNDGxCbue8MpLPOks8QMzY+eaNI+Uvwpf5fdSR+AfEIitcL51alWXrzwIVAMc1fiVC76ZinbyCC5+o6nZBx6SVAoGABmXB1tE2dZy2Ck9d64rljX293OQianF6ZH/VzNND8KPhq+NnMF3X7hC+39MF9/KSitvuTK3tlj9zuPZlooKQSGjlUSxWIDWYz1/WOgt5/rxS3CGlu8NIXd2IFIaiQJq8vAoTD+wYqPPZn6UkEwwD3Zqnk9f/KDz3LW3PHQd0yekCgYBHn8n0MYPK3NzNk05SsiXsz4GZhNvU/Q0MqP9fF7fmNCS2e4Ri4LJIqFg65dpkB0BKhnuEwN26QipGnY952gBOf9ut4HBoTGIu+uK1ae2cf5V2BmR0/ZV6V1Aui3hZ65/itto9P3waSciyD2Mtql7G11DQIgjyJ/g+hv9Os+14TwIVAJKBsT8TPj2rxwbMOOBerrI2w+L3";
var license = dsaSign(key,"Foo");

我收到的消息没有进一步解释:

-- ERROR --
Script is invalid 
Error :Wrapped java.lang.RuntimeException: DSA sign error: null (#3)

有人知道我在做什么错吗?

解决方法

它发生在我身上,我不确定,但是我想我在开始/结束行中添加了密钥,并且出于某些奇怪的原因,它起作用了。

var key = "-----BEGIN DSA PRIVATE KEY----- your code -----END DSA PRIVATE KEY-----";

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...