2017-04-03 75 views
-1

我正在尝试为PEM格式允许RSA公钥加密的反应本机查找工作JavaScript库。使用公共P​​EM或SSLeay密钥反应本机RSA加密

我不是加密专家,只是开始与反应原生所以请原谅我,如果我碰巧错过了一些明显的东西。

到目前为止,我已经tryed react-native-rsa通过this postreact-native-rsa-util为recomended。

我无法得到react-native-rsa-util的工作原理和反应原生rsa似乎不接受公共PEM密钥,但只有JWK格式的密钥。

我不愿意使用JWK格式的唯一原因是我无法找到一个PHP库,它将使用JWK密钥解密传入的消息。

我非常感谢任何帮助/指示。

非常感谢

回答

0

我写a PHP library支持JWT加密/解密了很多其他有用的功能,包括压缩。

支持RFC7518和JWK/JWKSet中引用的所有算法。

你可以做的是将您的PEM钥匙插入JWK与我的图书馆:

<?php 
use Jose\Factory\JWKFactory; 

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

var_dump($jwk->getAll()); 

并且解密与JWK一个智威汤逊和我的图书馆:

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 

变量$jweJWE Object。 您可致电$jwe->getPayload();

如有需要,请随时与我联系the dedicated Gitter channel

+0

非常感谢您的答复和您的工作与这个真棒图书馆! 它完全按照预期工作。 – WiserTheBassist