Encryption 如何用node forge解密CMS/PKCS#7

Encryption 如何用node forge解密CMS/PKCS#7,encryption,cmd,pkcs#7,forge,Encryption,Cmd,Pkcs#7,Forge,我尝试用node forge解码CMS/PKCS#7。私钥和数据在文件中。关键是PEM,数据是DER。这是我的密码: import forge from 'node-forge' import fs from 'fs'; let data = fs.readFileSync( __dirname + '/data'); let Key = fs.readFileSync( __dirname + '/key'); let pkeyAsn1 = forge.pki.privateKeyFrom

我尝试用node forge解码CMS/PKCS#7。私钥和数据在文件中。关键是PEM,数据是DER。这是我的密码:

import forge from 'node-forge'
import fs from 'fs';

let data = fs.readFileSync( __dirname + '/data');
let Key = fs.readFileSync( __dirname + '/key'); 
let pkeyAsn1 = forge.pki.privateKeyFromPem(Key); 

let p7 = forge.pkcs7;
let asndata =forge.util.createBuffer(data);
let msg = p7.messageFromAsn1(forge.asn1.fromDer(asndata));
console.log(msg.decrypt(msg.recipients[0], pkeyAsn1));
但是输出是未定义的。openssl等价物

openssl cms -decrypt -inform DER -in data -inkey key -out test

工作

为了帮助将来可能遇到此问题的所有人,解决方案如下:

...
msg.decrypt(msg.recipients[0], pkeyAsn1);
let data = msg.content.data;

我看到了同样的行为;未定义的输出,没有错误。你解决这个问题了吗?