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

この関数は、キーの詳細 (bits, key, type) を返します。

パラメータ

key

キーを保持する配列。

戻り値

成功した場合にキーの詳細を含む配列、失敗した場合に false を返します。 返される配列のキーは bits (ビット数)、 key (公開鍵を表す文字列) および type (キーの種類。 OPENSSL_KEYTYPE_RSAOPENSSL_KEYTYPE_DSAOPENSSL_KEYTYPE_DHOPENSSL_KEYTYPE_EC のいずれか。あるいは不明な場合は -1) となります。

使っているキーの型によって、さらに詳細が返されます。 常に存在するわけではない要素もあることに注意しましょう。

  • OPENSSL_KEYTYPE_RSA の場合は "rsa" というキーがあり、キーのデータが返されます。
    キー説明
    "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" というキーがあり、キーのデータが返されます。
    キー説明
    "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" というキーがあり、キーのデータが返されます。
    キー説明
    "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

変更履歴

バージョン説明
8.0.0key は、 OpenSSLAsymmetricKey クラスのインスタンスを受け入れるようになりました。 これより前のバージョンでは、 OpenSSL key 型のリソースを受け入れていました。
To Top