openssl_pkey_get_details
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
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