xref: /PHP-7.4/ext/openssl/tests/bug37820.phpt (revision 26dfce7f)
1--TEST--
2openssl_sign/verify: accept different algos
3--SKIPIF--
4<?php
5if (!extension_loaded("openssl")) die("skip");
6?>
7--FILE--
8<?php
9$dir = __DIR__;
10$file_pub = $dir . '/bug37820cert.pem';
11$file_key = $dir . '/bug37820key.pem';
12
13$priv_key = file_get_contents($file_key);
14$priv_key_id = openssl_get_privatekey($priv_key);
15
16
17$pub_key = file_get_contents($file_pub);
18$pub_key_id = openssl_get_publickey($pub_key);
19$data = "some custom data";
20if (!openssl_sign($data, $signature, $priv_key_id, OPENSSL_ALGO_MD5)) {
21    echo "openssl_sign failed.";
22}
23
24$ok = openssl_verify($data, $signature, $pub_key_id, OPENSSL_ALGO_MD5);
25if ($ok == 1) {
26    echo "Ok";
27} elseif ($ok == 0) {
28    echo "openssl_verify failed.";
29}
30
31
32?>
33--EXPECT--
34Ok
35