2012-10-18 14 views
5

Sto lavorando su un server NodeJS MDM per iOS. Sui documenti Apple è indicato il seguente codice rubino:Il payload dei dati PKCS # 7 scompattato con NodeJS?

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

Quale sarebbe l'equivalente in NodeJS? L'idea è di accedere a p7sign.data che contiene un plist xml.

È possibile utilizzare crypto o un lib di nodo esterno (ursa, ecc.)?

+0

Hai trovato una soluzione? Hai usato Crypto per raggiungere il tuo obiettivo? – klefevre

risposta

0

Una buona opzione sarebbe utilizzare child_process per richiamare direttamente openssl. Lo faccio per convalidare i file iOS .mobileprovision.

comando
$ openssl smime -verify -in FILE -inform der 

L'openssl deve essere la mela fornito (non da porti o homebrew), in modo che possa trovare i certificati di firma e CA di nel portachiavi.

Non l'ho provato da solo, ma la libreria node-forge contiene un'implementazione di molti algoritmi crittografici.

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

+0

'-inform der' è nel caso in cui il file sia in formato DER (come i file .mobileprovision), altrimenti usa' smime' o 'pem'. – alberto

+0

node-forge non esegue la verifica pkcs7 in questo momento. – gdw2

Problemi correlati