PHP - Manual: openssl_pkey_get_details
2024-12-19
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
openssl_pkey_get_details — 返回包含密钥详情的数组
$key
): array该函数返回密钥详情(位长度,密钥,类型).
key
持有密钥的资源。
成功,返回包含密钥详情的数组,失败返回 false
.
返回的数组中包含了如下索引: bits
(位数),
key
(表示公钥的字符串) 和
type
(如下密钥类型之一:
OPENSSL_KEYTYPE_RSA
,
OPENSSL_KEYTYPE_DSA
,
OPENSSL_KEYTYPE_DH
,
OPENSSL_KEYTYPE_EC
或者 未知类型返回1).
取决于所使用密钥的类型,可能会返回其他额外的信息。请注意,有些元素可能并不总是可用的。
OPENSSL_KEYTYPE_RSA
, 一个额外的键名为 "rsa"
的数组,包含了以下密钥数据:
Key | 说明 |
---|---|
"n" |
modulus |
"e" |
public exponent |
"d" |
private exponent |
"p" |
prime 1 |
"q" |
prime 2 |
"dmp1" |
exponent1, d mod (p-1) |
"dmq1" |
exponent2, d mod (q-1) |
"iqmp" |
coefficient, (inverse of q) mod p |
OPENSSL_KEYTYPE_DSA
, 一个额外的键为 "dsa"
的数组,
包含如下的密钥数据。
Key | 说明 |
---|---|
"p" |
prime number (public) |
"q" |
160-bit subprime, q | p-1 (public) |
"g" |
generator of subgroup (public) |
"priv_key" |
private key x |
"pub_key" |
public key y = g^x |
OPENSSL_KEYTYPE_DH
, 一个额外的键为 "dh"
的数组,包含如下的密钥数据。
Key | 说明 |
---|---|
"p" |
prime number (shared) |
"g" |
generator of Z_p (shared) |
"priv_key" |
private DH value x |
"pub_key" |
public DH value g^x |
OPENSSL_KEYTYPE_EC
, 一个额外的键为 "ec"
的数组,包含如下的密钥数据。
Key | 说明 |
---|---|
"curve_name" |
name of curve, see openssl_get_curve_names() |
"curve_oid" |
ASN1 Object identifier (OID) for EC curve. |
"x" |
x coordinate (public) |
"y" |
y coordinate (public) |
"d" |
private key |
官方地址:https://www.php.net/manual/en/function.openssl-pkey-get-details.php