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