牛牛在线工具

openssl_spki_verify()

收录 8868 个 PHP 函数,含用途说明与用法示例。

openssl_spki_verify()

验证一个SPKI(Subject Public Key Info)结构的签名

函数名称:openssl_spki_verify() 函数描述:该函数用于验证一个SPKI(Subject Public Key Info)结构的签名。 适用版本:PHP 5 >= 5.6.0, PHP 7 语法:bool openssl_spki_verify(resource $spki, string $algorithm, string $signature) 参数: $spki:SPKI结构的资源句柄,可以通过openssl_spki_new()函数创建。 $algorithm:签名算法,如"sha256"、"sha384"、"sha512"等。 $signature:要验证的签名。 返回值: 如果签名验证成功,则返回true。 如果签名验证失败,则返回false。 示例: // 创建SPKI结构 $spki = openssl_spki_new(); // 生成密钥对 $privateKey = openssl_pkey_new(); $details = openssl_pkey_get_details($privateKey); $publicKey = $details['key']; // 将公钥添加到SPKI结构中 openssl_spki_export($spki, $spkiout); $spkiWithPublicKey = openssl_spki_add_publickey($spkiout, $publicKey); // 对SPKI结构进行签名 openssl_spki_sign($spkiWithPublicKey, $privateKey, $spkisigned); // 验证签名 $isValid = openssl_spki_verify($spkiWithPublicKey, "sha256", $spkisigned); if ($isValid) { echo "签名验证成功!"; } else { echo "签名验证失败!"; } 注意事项: 在使用openssl_spki_verify()函数之前,需要先创建一个SPKI结构,可以通过openssl_spki_new()函数创建。 必须使用相同的签名算法和密钥对对SPKI结构进行签名和验证。 在示例中,生成了一个随机的密钥对,并将公钥添加到SPKI结构中,然后对SPKI结构进行签名并验证签名的有效性。 可以根据实际需求选择不同的签名算法,如"sha256"、"sha384"、"sha512"等。 如果签名验证成功,将返回true;如果签名验证失败,将返回false。