PHP openssl_spki_new OpenSSL 函数

  • 定义和用法

    openssl_spki_new - 生成一个新的签名公钥和挑战
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 v5.6.0+支持 支持
  • 语法

    openssl_spki_new( resource &$privkey , string &$challenge [, int $algorithm = 0 ]  )
    openssl_spki_new() 使用指定的哈希算法生成一个新的签名公钥和挑战。
  • 参数

    参数 必需的 描述
    privkey privkey 应该被设置为由 openssl_pkey_new() 函数预先生成(或者以其他方式从openssl_pkey函数集中获得)的私钥。该密钥的相应公共部分将用于签署CSR.
    challenge 与SPKAC有关的挑战。
    algorithm 摘要算法。参见 openssl_get_md_method()函数。
  • 返回值

    成功,返回一个签名的公钥和挑战,失败返回 NULL .
    如果 algorithm 参数是一个未知的签名算法,将会抛出一个 E_WARNING 级的错误。
  • 示例

    $config = array(
            "digest_alg" => "sha512",
            "private_key_bits" => 4096,
            "private_key_type" => OPENSSL_KEYTYPE_RSA,
    );
    
    $pkey = openssl_pkey_new($config);
    $spkac = openssl_spki_new($pkey, 'testing');
    
    if ($spkac !== NULL) {
            echo chunk_split($spkac,76,PHP_EOL);
    } else {
            echo "SPKAC generation failed";
    }
    
    尝试一下
  • 相关页面

    openssl_spki_export_challenge() - 导出与签名公钥和挑战相关的挑战字符串
    openssl_spki_export() - 通过签名公钥和挑战导出一个可用的PEM格式的公钥
    openssl_csr_new() - 生成一个 CSR
    openssl_csr_sign() - 用另一个证书签署 CSR (或者本身) 并且生成一个证书