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;以前,接受类型为 OpenSSL key资源
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top