50 votes

Crypter des données avec une clé publique en Node.js

Je dois chiffrer une chaîne de caractères à l'aide d'une clé publique (fichier .pem), puis la signer à l'aide d'une clé privée (également un fichier .pem).

Je charge bien les fichiers .pem :

publicCert = fs.readFileSync(publicCertFile).toString();

Mais après des heures de recherche sur Google, je n'arrive pas à trouver un moyen de chiffrer des données à l'aide de la clé publique. En PHP, j'appelle simplement openssl_public_encrypt(), mais je ne vois aucune fonction correspondante dans Node.js ou dans aucun module.

3voto

Etienne Points 1158

Ceci n'est pas supporté nativement par Node.js version v0.11.13 ou inférieure, mais il semble que la prochaine version de Node.js (a.k.a v0.12) le supportera.

Voici l'indice : https://github.com/joyent/node/blob/v0.12/lib/crypto.js#L358

Voir crypto.publicEncrypt y crypto.privateDecrypt

Voici la future documentation à ce sujet https://github.com/joyent/node/blob/7c0419730b237dbfa0ec4e6fb33a99ff01825a8f/doc/api/crypto.markdown#cryptopublicencryptpublic_key-buffer

0 votes

Il est temps de faire une mise à jour ( sin "Mise à jour :", "Modifier :", etc.) ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X