使用公共 PEM 或 SSLeay 密钥对本机 RSA 加密做出反应

问题描述 投票:0回答:2

我正在尝试为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 库。

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

非常感谢

npm react-native rsa pem jwk
2个回答
0
投票

我编写了一个 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 频道与我联系。


0
投票

您可以使用“react-native-rsa-native”如何生成 RSA 公钥和私钥......进行验证和签名。 来自 https://www.npmjs.com/package/react-native-rsa-native

© www.soinside.com 2019 - 2024. All rights reserved.