使用NodeJS解包PKCS#7数据有效载荷?

我正在为iOSdevise一个MDM NodeJS服务器。 在Apple文档中,给出了下面的ruby代码:

p7sign = OpenSSL::PKCS7::PKCS7.new(req.body) store = OpenSSL::X509::Store.new p7sign.verify(nil, store, nil, OpenSSL::PKCS7::NOVERIFY) signers = p7sign.signers 

NodeJS中的等价物是什么? 这个想法是访问包含一个xml plist的p7sign.data

这可能使用crypto或外部节点库( ursa等)?

一个好的select是使用child_process直接调用openssl。 我这样做来validationiOS .mobileprovision文件。

 $ openssl smime -verify -in FILE -inform der 

openssl命令需要由苹果提供(不是从端口或自制软件),以便它可以在钥匙串中查找签名证书和CA.

我自己没有尝试过,但是node-forge库包含许多encryptionalgorithm的实现。

https://npmjs.org/package/node-forge#pkcs7