我正在尝试为react-native找到一个工作的javascript库,它将允许PEM格式的RSA公钥加密。
我不是加密方面的专家,刚刚开始使用react-native,所以如果我碰巧错过了一些明显的东西,请原谅我。
到目前为止我已经尝试过 react-native-rsa 正如这篇文章推荐的 和 react-native-rsa-util.
我无法让react-native-rsa-util工作,并且react-native-rsa似乎不接受公共PEM密钥,而只接受JWK格式的密钥。
我不愿意使用 JWK 格式的唯一原因是我找不到可以使用 JWK 密钥解密传入消息的 PHP 库。
我非常感谢任何帮助/指示。
非常感谢
我编写了一个 PHP 库,它支持 JWT 加密/解密,并具有许多其他有用的功能,包括压缩。
支持RFC7518和JWK/JWKSet中引用的所有算法。
您可以使用我的库将您的 PEM 密钥转换为 JWK:
<?php
use Jose\Factory\JWKFactory;
$jwk = JWKFactory::createFromKeyFile('/path/to/my/key.pem');
var_dump($jwk->getAll());
并使用您的 JWK 和我的库解密 JWT:
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对象。
您可以通过调用 $jwe->getPayload();
获取有效负载
如有需要,请随时通过 专用 Gitter 频道与我联系。
您可以使用“react-native-rsa-native”如何生成 RSA 公钥和私钥......进行验证和签名。 来自 https://www.npmjs.com/package/react-native-rsa-native