PHP Conference Japan 2024

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_RSAOPENSSL_KEYTYPE_DSAOPENSSL_KEYTYPE_DHOPENSSL_KEYTYPE_EC 其中之一,或 -1 表示未知)。

根據使用的金鑰型別,可能會傳回其他詳細資訊。請注意,某些元素可能並非總是可用。

  • OPENSSL_KEYTYPE_RSA,會傳回一個額外的陣列索引,名為 "rsa",其中包含金鑰資料。
    金鑰 描述
    "n" 模數
    "e" 公開指數
    "d" 私有指數
    "p" 質數 1
    "q" 質數 2
    "dmp1" 指數 1,d mod (p-1)
    "dmq1" 指數 2,d mod (q-1)
    "iqmp" 係數,(q 的反模數) mod p
  • OPENSSL_KEYTYPE_DSA,會傳回一個額外的陣列索引,名為 "dsa",其中包含金鑰資料。
    金鑰 描述
    "p" 質數(公開)
    "q" 160 位元的子質數,q | p-1(公開)
    "g" 子群產生器(公開)
    "priv_key" 私有金鑰 x
    "pub_key" 公開金鑰 y = g^x
  • OPENSSL_KEYTYPE_DH,會傳回一個額外的陣列索引,名為 "dh",其中包含金鑰資料。
    金鑰 描述
    "p" 質數(共用)
    "g" Z_p 的產生器(共用)
    "priv_key" 私有 DH 值 x
    "pub_key" 公開 DH 值 g^x
  • OPENSSL_KEYTYPE_EC,會傳回一個額外的陣列索引,名為 "ec",其中包含金鑰資料。
    金鑰 描述
    "curve_name" 曲線名稱,請參閱 openssl_get_curve_names()
    "curve_oid" EC 曲線的 ASN1 物件識別碼 (OID)。
    "x" x 座標(公開)
    "y" y 座標(公開)
    "d" 私有金鑰

變更記錄

版本 描述
8.0.0 key 現在接受 OpenSSLAsymmetricKey;先前接受的 resource 型別為 OpenSSL key
新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top