Npm 使用公共PEM或SSLeay密钥响应本机RSA加密

Npm 使用公共PEM或SSLeay密钥响应本机RSA加密,npm,react-native,rsa,pem,jwk,Npm,React Native,Rsa,Pem,Jwk,我正在尝试为react native找到一个可以工作的javascript库,该库允许使用PEM格式的RSA公钥加密 我不是加密方面的专家,刚开始使用react native,所以如果我碰巧错过了一些明显的东西,请原谅 到目前为止我已经试过了 推荐 和 我无法让react-native rsa util工作,react-native rsa似乎不接受公共PEM密钥,而只接受JWK格式的密钥 我不愿意使用JWK格式的唯一原因是,我找不到一个PHP库可以用JWK密钥对传入消息进行解密 我将非常感谢

我正在尝试为react native找到一个可以工作的javascript库,该库允许使用PEM格式的RSA公钥加密

我不是加密方面的专家,刚开始使用react native,所以如果我碰巧错过了一些明显的东西,请原谅

到目前为止我已经试过了 推荐 和

我无法让react-native rsa util工作,react-native rsa似乎不接受公共PEM密钥,而只接受JWK格式的密钥

我不愿意使用JWK格式的唯一原因是,我找不到一个PHP库可以用JWK密钥对传入消息进行解密

我将非常感谢任何帮助/指点

非常感谢

我写的支持JWT加密/解密以及许多其他有用的功能,包括压缩

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

您可以使用my library将PEM密钥转换为JWK:

<?php
use Jose\Factory\JWKFactory;

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

var_dump($jwk->getAll());
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
变量
$jwe
现在为。 您可以通过调用
$jwe->getPayload()获取有效负载


如果需要,请随时与我联系。

非常感谢您的回答以及您在这个很棒的库中所做的工作!它完全按照预期工作。