PHP8 openssl_pkey_get_details

2024-03-12 14:07 更新

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_pkey_get_details — 返回包含密鑰詳情的數(shù)組

說明

openssl_pkey_get_details(OpenSSLAsymmetricKey $key): array|false

該函數(shù)返回密鑰詳情(位長度,密鑰,類型)。

參數(shù) 

key

持有密鑰的資源。

返回值 

成功時返回包含密鑰詳情的數(shù)組,失敗時返回 false。 返回的數(shù)組中包含了如下索引: bits (位數(shù))、 key(表示公鑰的字符串)和 type(如下密鑰類型之一: OPENSSL_KEYTYPE_RSA、 OPENSSL_KEYTYPE_DSA、 OPENSSL_KEYTYPE_DH、 OPENSSL_KEYTYPE_EC 或者是 -1,代表未知類型)。

根據(jù)使用的密鑰類型,可能會返回不同的額外信息。請注意,有些元素可能并不總是可用的。

  • OPENSSL_KEYTYPE_RSA,一個額外的鍵名為 "rsa" 的數(shù)組,包含了以下密鑰數(shù)據(jù):
    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" 的數(shù)組, 包含如下的密鑰數(shù)據(jù)。
    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" 的數(shù)組,包含如下的密鑰數(shù)據(jù)。
    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" 的數(shù)組,包含如下的密鑰數(shù)據(jù)。
    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現(xiàn)在參數(shù) key 接受 OpenSSLAsymmetricKey; 在此之前,接受 OpenSSL key 類型的 resource。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號