2017-04-03 2 views
-1

J'essaie de trouver une bibliothèque javascript fonctionnelle pour reac-native qui permettra le cryptage à clé publique RSA au format PEM.Réagissez le cryptage RSA natif avec une clé publique PEM ou SSLeay

Je ne suis pas un expert en cryptage et je commence tout juste avec rea-natif, alors s'il vous plaît excusez-moi si j'ai manqué quelque chose d'évident.

Jusqu'à présent, je tryed react-native-rsa comme recommandes par this post et react-native-rsa-util.

Je ne pouvais pas avoir réagi-native-rsa-util pour fonctionner et react-native-rsa ne semble pas accepter les clés publiques PEM mais uniquement les clés au format JWK. La seule raison pour laquelle je ne suis pas prêt à utiliser le format JWK est que je ne peux pas trouver une bibliothèque PHP qui décryptera le message entrant avec une clé JWK.

J'apprécierais hautement toute aide/pointeurs.

Merci beaucoup

Répondre

0

j'ai écrit a PHP library qui prend en charge le cryptage JWT/décryptage avec beaucoup d'autres fonctionnalités utiles, y compris la compression.

Tous les algorithmes référencés dans RFC7518 et JWK/JWKSet sont pris en charge.

Ce que vous pouvez faire est de convertir votre clé PEM en JWK avec ma bibliothèque:

<?php 
use Jose\Factory\JWKFactory; 

$jwk = JWKFactory::createFromKeyFile('/path/to/my/key.pem'); 

var_dump($jwk->getAll()); 

Et pour déchiffrer un JWT avec votre JWK et ma bibliothèque:

use Jose\Loader; 

$input = 'eyJhbGciOiJS...'; 
$loader = new Loader(); 
$jwe = $loader->loadAndDecryptUsingKey($input, $jwk, ['RSA-OAEP-256'], ['A256CBC-HS512']); // The list of accepted key and content encryption algorithms depends on your needs 

La $jwe variable est JWE Object. Vous pouvez obtenir la charge utile en appelant $jwe->getPayload();

N'hésitez pas à me contacter au the dedicated Gitter channel si nécessaire.

+0

Merci beaucoup pour votre réponse et votre travail avec cette bibliothèque génial! Cela a fonctionné exactement comme prévu. – WiserTheBassist