php如何利用openssl快速生成一组RSA钥匙对(私钥/公钥)?
发布于 作者:苏南大叔 来源:程序如此灵动~

本文继续讲述openssl
的代码应用,在前面的文章中,苏南大叔用命令行运行openssl
的方式,创建了一组RSA
的密钥。其实,openssl
作为php
扩展使用的时候,也可以使用代码的方式,创建一组RSA
密钥。那么,在本文中,苏南大叔就继续这个话题,演示一下,在php
中,创建RSA
密钥对儿的方式方法。

本文测试环境:centos
/openssl
/php72
。本文正确运行的前提是:php
启用了libssl.so
扩展,所以,如果发生了错误,请先确认是否启用了相关扩展。
RSA
密钥对儿基本配置
这里有个字节数的概念,一般选择1024
。不过,您也可以设置成其他的,比如512
/2048
/4096
等。代码如下:
private_key_type
就是本次的openssl
的目标类型。目前可用的值是:
常量名称 | 数值 |
---|---|
OPENSSL_KEYTYPE_RSA | 0 |
OPENSSL_KEYTYPE_DSA | 1 |
OPENSSL_KEYTYPE_DH | 2 |
OPENSSL_KEYTYPE_EC | 3 |
不过,本文的目标是生成RSA
,所以,这里主动指定了private_key_type
为OPENSSL_KEYTYPE_RSA
。更多信息,请参见:

生成私钥
$private_key
是个引用参数,不走寻常路。
生成公钥
这个公钥的值的获取,也是不走寻常路。居然在个detail
数组里面藏着...
相关链接
直接通过openssl
命令行的方式,生成一组RSA
密钥对儿,可以点击下面的链接查看详细步骤:
总结
如果您的测试过程中,出错了。例如:
很有可能您的php
的openssl
扩展没能正常安装,或者没有启用。
更多苏南大叔写的RSA
相关经验文章,请点击下面的链接:


