用例:客户端在浏览器中创建RSA密钥对,将pubkey发送到服务器,然后使用保存在本地存储中的secretkey签名他的消息。PHP中可创建PEM密钥对
我已经看过JWT,但它没有在浏览器中生成密钥对(或者我找不到它)。我找到了一个创建密钥的库(https://github.com/juliangruber/keypair),但是我得到一个在openssl_pkey_get_public
函数中无法在PHP中读取的pub密钥。
我真的被卡住了 - 我认为它应该是相当普遍的,但经过一整天的搜索,我无法理解一件事。很多标准,格式...
任何人都可以建议一个图书馆或方法,我可以在cient创建密钥在JS和验证邮件,使用pubkey在PHP?
这是我到目前为止有: 我创建了一个JS PUBKEY,使用上述
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAM3CosR73CBNcJsLv5E90NsFt6qN1uziQ484gbOoule8leXHFbyIzPQRozgEpSpi
whr6d2/c0CfZHEJ3m5tV0klxfjfM7oqjRMURnH/rmBjcETQ7qzIISZQ/iptJ3p7Gi78X5ZMh
LNtDkUFU9WaGdiEb+SnC39wjErmJSfmGb7i1AgMBAAE=
-----END RSA PUBLIC KEY-----
然后我救它“/pubKey.pem”文件,并尝试读它提到库PHP: openssl_pkey_get_public(file_get_contents("/pubKey.pem"));
它失败。我想格式不是预期的格式?
问题要求我们推荐或找到书籍,工具,软件库,教程或其他非本地资源,因为它们倾向于吸引自以为是的答案和垃圾邮件,所以不适合堆栈溢出。相反,请描述问题以及到目前为止解决问题所做的工作。 – Epodax
它可能不是那么常见的一个需求,因为它似乎试图重复SSL/TLS已经做的事情 –
嗯,当_server_创建密钥时,这真的很常见。 在我的情况下,客户端应该创建密钥并向公众提供服务器,所以我们没有客户端的秘密 - 我们可以验证他的消息。它在现实生活中也很常见,但麻烦在于我们必须通过js在浏览器中创建密钥。 –