• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • openssl_pkey_get_details()

    (PHP 5 >= 5.2.0, PHP 7)

    返回包含密钥详情的数组

    说明

    openssl_pkey_get_details(resource $key): array

    该函数返回密钥详情(位长度,密钥,类型).

    参数

    $key

    持有密钥的资源。

    返回值

    成功,返回包含密钥详情的数组,失败返回FALSE. 返回的数组中包含了如下索引:bits(位数),key(表示公钥的字符串)和type(如下密钥类型之一:OPENSSL_KEYTYPE_RSA,OPENSSL_KEYTYPE_DSA,OPENSSL_KEYTYPE_DH,OPENSSL_KEYTYPE_EC或者未知类型返回1).

    取决于所使用密钥的类型,可能会返回其他额外的信息。请注意,有些元素可能并不总是可用的。

    • OPENSSL_KEYTYPE_RSA,一个额外的键名为"rsa"的数组,包含了以下密钥数据:
      Key说明
      "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"的数组,包含如下的密钥数据。
      Key说明
      "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"的数组,包含如下的密钥数据。
      Key说明
      "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
    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