PHP 中 firebase/php-jwt RS256 公私钥生成指南
2022/6/28 14:23:48
本文主要是介绍PHP 中 firebase/php-jwt RS256 公私钥生成指南,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
所有关于 openssl_sign(): supplied key param cannot be coerced into a private/public key、Algorithm not allowed 等错误
按照文章来一遍,基本就能解决了
GitHub 用多了,第一反应用 puttygen.exe
这个程序来生成,得到 id_rsa
和 id_rsa.pub
然而,这货并没有什么卵用…
当然,我们生成一个 Private Key
后,通过如图导出一份私钥后还是能用的
但是…Public Key 就没法用了,因为这玩意儿吧,要讲究格式…后来才发现除了 OpenSSH,还有一个 OpenSSL
所以,我们应当使用 OpenSSL 来生成…
工具去哪儿找?https://git-scm.com/downloads,下一个 Git 安装上就行了
便携版需要 手动 配置一下环境变量,除了 \PortableGit\bin 这个要添加到 Path,\PortableGit\usr\bin 这个也需要
其实很简单了,以 Windows 举例,桌面按下 Shift + 鼠标右键打开 cmd(命令窗口,Win 10 为 PowerShell)
# 2048 这个长度可根据实际情况调整 openssl genrsa -out pri_key.pem 2048
完成后桌面就会出现 pri_key.pem
文件,撸开看看,开头和结尾一定是
-----BEGIN RSA PRIVATE KEY----- ...省略... -----END RSA PRIVATE KEY-----
这玩意儿在 firebase/php-jwt
中就能直接用了,参考原文:firebase/php-jwt: PEAR package for JWT
接着再输入一句命令拿到公钥就能玩儿了:
openssl rsa -in pri_key.pem -pubout -out pub_key.pem
同样的,在桌面会再多出一个 pub_key.pem
文件,开头结尾一定是:
-----BEGIN PUBLIC KEY----- ...省略... -----END PUBLIC KEY-----
网上说的什么 J8 香蕉船 生成 PKCS#8 编码公钥 完全不需要好吗。。。
就是这句命令:【无需执行】
openssl pkcs8 -topk8 -inform PEM -in pri_key.pem -outform PEM -out pkcs8_pri_key.pem –nocrypt
因为生成后,格式是这样的:
-----BEGIN ENCRYPTED PRIVATE KEY----- ...省略... -----END ENCRYPTED PRIVATE KEY-----
最后使用,参照原文链接撸码就行:(注意格式和下方一致)
private $privateKey = <<<EOD -----BEGIN RSA PRIVATE KEY----- // 中间内容自行填写 -----END RSA PRIVATE KEY----- EOD; private $publicKey = <<<EOD -----BEGIN PUBLIC KEY----- // 中间内容自行填写 -----END PUBLIC KEY----- EOD;
https://maxsky.blog.csdn.net/article/details/80045283
这篇关于PHP 中 firebase/php-jwt RS256 公私钥生成指南的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享