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.0 key は、 OpenSSLAsymmetricKey クラスのインスタンスを受け入れるようになりました。 これより前のバージョンでは、 OpenSSL key 型のリソースを受け入れていました。
add a note add a note

User Contributed Notes 1 note

up
15
langemeijer at php dot net
12 years ago
These are the missing descriptions for RSA elements:

n - modulus
e - publicExponent
d - privateExponent
p - prime1
q - prime2
dmp1 - exponent1, d mod (p-1)
dmq1 - exponent2, d mod (q-1)
iqmp - coefficient, (inverse of q) mod p
To Top