source: src/router/php7/ext/openssl/tests/openssl_encrypt_gcm.phpt @ 31874

Last change on this file since 31874 was 31874, checked in by brainslayer, 2 months ago

update php

File size: 1.4 KB
Line 
1--TEST--
2openssl_encrypt() with GCM cipher algorithm tests
3--SKIPIF--
4<?php
5if (!extension_loaded("openssl"))
6        die("skip");
7if (!in_array('aes-128-gcm', openssl_get_cipher_methods()))
8        die("skip: aes-128-gcm not available");
9?>
10--FILE--
11<?php
12require_once __DIR__ . "/cipher_tests.inc";
13$method = 'aes-128-gcm';
14$tests = openssl_get_cipher_tests($method);
15
16foreach ($tests as $idx => $test) {
17        echo "TEST $idx\n";
18        $ct = openssl_encrypt($test['pt'], $method, $test['key'], OPENSSL_RAW_DATA,
19                $test['iv'], $tag, $test['aad'], strlen($test['tag']));
20        var_dump($test['ct'] === $ct);
21        var_dump($test['tag'] === $tag);
22}
23
24// Empty IV error
25var_dump(openssl_encrypt('data', $method, 'password', 0, NULL, $tag, ''));
26
27// Failing to retrieve tag (max is 16 bytes)
28var_dump(openssl_encrypt('data', $method, 'password', 0, str_repeat('x', 32), $tag, '', 20));
29
30// Failing when no tag supplied
31var_dump(openssl_encrypt('data', $method, 'password', 0, str_repeat('x', 32)));
32?>
33--EXPECTF--
34TEST 0
35bool(true)
36bool(true)
37TEST 1
38bool(true)
39bool(true)
40TEST 2
41bool(true)
42bool(true)
43TEST 3
44bool(true)
45bool(true)
46TEST 4
47bool(true)
48bool(true)
49TEST 5
50bool(true)
51bool(true)
52
53Warning: openssl_encrypt(): Setting of IV length for AEAD mode failed, the expected length is 12 bytes in %s on line %d
54bool(false)
55
56Warning: openssl_encrypt(): Retrieving verification tag failed in %s on line %d
57bool(false)
58
59Warning: openssl_encrypt(): A tag should be provided when using AEAD mode in %s on line %d
60bool(false)
Note: See TracBrowser for help on using the repository browser.