(PHP 5 >= 5.2.0, PHP 7, PHP 8)
openssl_pkey_get_details — 返回包含密钥详情的数组
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 |
版本 | 说明 |
---|---|
8.0.0 | 现在参数 key 接受 OpenSSLAsymmetricKey; 在此之前,接受 OpenSSL key 类型的 resource。 |