PYTHON openssl_verify

is this article helpful?
|
Python replacement for PHP's openssl_verify [ edit | history ]
from OpenSSL.crypto import verify

verify(...)
Verify a signature

@param cert: signing certificate (X509 object)
@param signature: signature returned by sign function
@param data: data to be verified
@param digest: message digest to use
@return: None if the signature is correct, raise exception otherwise

e.g.

verify(cert, sig, string, 'sha1')

PHP openssl_verify

PHP original manual for openssl_verify [ show | php.net ]

openssl_verify

(PHP 4 >= 4.0.4, PHP 5)

openssl_verifyVerify signature

Description

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, int $signature_alg ] )

openssl_verify() verifies that the signature is correct for the specified data using the public key associated with pub_key_id . This must be the public key corresponding to the private key used for signing.

Parameters

data

signature

pub_key_id

signature_alg

Defaults to OPENSSL_ALGO_SHA1. For more information see the list of Signature Algorithms.

Return Values

Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

Changelog

Version Description
5.0.0 The signature_alg parameter was added.

Examples

Example #1 openssl_verify() example

<?php
// $data and $signature are assumed to contain the data and the signature

// fetch public key from certificate and ready it
$fp fopen("/src/openssl-0.9.6/demos/sign/cert.pem""r");
$cert fread($fp8192);
fclose($fp);
$pubkeyid openssl_get_publickey($cert);

// state whether signature is okay or not
$ok openssl_verify($data$signature$pubkeyid);
if (
$ok == 1) {
    echo 
"good";
} elseif (
$ok == 0) {
    echo 
"bad";
} else {
    echo 
"ugly, error checking signature";
}
// free the key from memory
openssl_free_key($pubkeyid);
?>

See Also