返回包含金鑰詳情的陣列

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

Leave a Reply

Your email address will not be published. Required fields are marked *