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_RSA, OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC или -1, если неизвестно).

В зависимости от типа используемого ключа, могут быть возвращены дополнительные данные. Обратите внимание, что некоторых элементов может и не быть.

  • Для OPENSSL_KEYTYPE_RSA возвращается элемент с индексом "rsa", содержащий данные ключа.
    Ключ Описание
    "n" модуль
    "e" открытая экспонента
    "d" секретная экспонента
    "p" первое простое число
    "q" второе простое число
    "dmp1" первая экспонента, d mod (p-1)
    "dmq1" вторая экспонента, d mod (q-1)
    "iqmp" коэффициент, (1 / q) mod p
  • Для OPENSSL_KEYTYPE_DSA возвращается элемент с индексом "dsa", содержащий данные ключа.
    Ключ Описание
    "p" Простое число (публичное)
    "q" 160-битное простое число, такое, что p-1 делится на q (публичное)
    "g" Генератор подгрупп (публичный). Мультипликативный порядок g по модулю p равен q
    "priv_key" Секретный ключ x
    "pub_key" Открытый ключ y = g^x
  • Для OPENSSL_KEYTYPE_DH возвращается элемент с индексом "dh", содержащий данные ключа.
    Ключ Описание
    "p" Простое число (открытое)
    "g" Генератор Z_p (открытый), простое число, первообразный корень по модулю p
    "priv_key" секретное DH значение x
    "pub_key" открытое DH значение g^x
  • OPENSSL_KEYTYPE_EC возвращается элемент с индексом "ec", содержащий данные ключа.
    Ключ Описание
    "curve_name" Название кривой, смотри openssl_get_curve_names()
    "curve_oid" Идентификатор объекта ASN1 (OID) для кривой EC.
    "x" x координата (открытая)
    "y" y координата (открытая)
    "d" секретный ключ

Список изменений

Версия Описание
8.0.0 key теперь принимает экземпляр OpenSSLAsymmetricKey; ранее принимался ресурс (resource) типа 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