PHP8 openssl_pkey_get_details
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
openssl_pkey_get_details — 返回包含密钥详情的数组
说明
openssl_pkey_get_details(OpenSSLAsymmetricKey $key): array|false该函数返回密钥详情(位长度,密钥,类型)。
参数
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。 |