首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载pkcs8在jsrsasign中抛出格式错误

加载pkcs8在jsrsasign中抛出格式错误
EN

Stack Overflow用户
提问于 2016-03-18 03:21:07
回答 1查看 490关注 0票数 1

我尝试使用jsrsasign-5.0.7-all-min.js对一个字节数组进行签名,但是当我尝试签名时抛出了一个错误:

代码语言:javascript
复制
malformed format: SEQUENCE(0).items != 2: 1

历史:

我有一个pfx (不是使用openssl创建的)文件,我使用以下openssl命令将其转换为pkcs5

代码语言:javascript
复制
openssl pkcs12 -in signer001.pfx -nocerts -out signer001.key -nodes

jsrsasign抛出一个错误;它找不到加密头。因此,我使用以下命令将该文件转换为pkcs8

代码语言:javascript
复制
openssl pkcs8 -in signer001.key -topk8 -v2 des3 -out signer001pkcs8.key

我用javascript编写了以下代码:

代码语言:javascript
复制
var password = "13245";
var pkcs8key = "" +
"-----BEGIN ENCRYPTED PRIVATE KEY-----\r\n" +
$('#keyb64').val() 
"-----END ENCRYPTED PRIVATE KEY-----\r\n";

console.log('OK');
var result = PKCS5PKEY.getKeyFromEncryptedPKCS8PEM(pkcs8key, password) ;
console.log("doesn't get executed");

我跟踪了这个错误,并在库中抛出了它。我在c#中检查了pkcs8文件,只是为了验证它的构造是否良好,看起来是否正常。是库中有bug,还是我遗漏了什么?

附注:我采用了Digital signature with Javascript的例子,但它对我不起作用。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-18 10:31:05

据我所知,pkcs8已经被解密了,所以

代码语言:javascript
复制
"-----BEGIN ENCRYPTED PRIVATE KEY-----\r\n"  

应该只是这样:

代码语言:javascript
复制
"-----BEGIN PRIVATE KEY-----\r\n" 

我不是很确定,但当我编写示例Digital signature with Javascript时,这是我的一个错误:D

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36069814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档