0

我正在尝试为 react-native 找到一个有效的 JavaScript 库,它将允许 PEM 格式的 RSA 公钥加密。

我不是加密专家,只是从 react-native 开始,所以如果我碰巧错过了一些明显的东西,请原谅。

到目前为止,我已经尝试 了本文推荐的react-native- rsareact-native-rsa-util

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

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

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

非常感谢

4

1 回答 1

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 Object。您可以通过调用获取有效负载$jwe->getPayload();

如果需要,请随时通过专用的 Gitter 频道与我联系。

于 2017-04-04T05:25:39.887 回答