openssl_pkey_get_details
(PHP 5 >= 5.2.0, PHP 7)
openssl_pkey_get_details — 返回包含密钥详情的数组
说明
openssl_pkey_get_details
( resource
$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