5

我正在为 iOS 开发 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 中的等价物是什么?这个想法是访问p7sign.data包含一个 xml plist。

这是否可以使用任何一个crypto或外部节点库(ursa等)?

4

1 回答 1

0

一个不错的选择是使用 child_process 直接调用 openssl。我这样做是为了验证 iOS .mobileprovision 文件。

$ openssl smime -verify -in FILE -inform der 

openssl 命令必须是苹果提供的(不是来自端口或自制软件),以便它可以在钥匙串中找到签名证书和 CA。

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

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

于 2013-07-31T19:34:03.803 回答