--TEST-- openssl_decrypt() with GCM cipher algorithm tests --SKIPIF-- --FILE-- $test) { echo "TEST $idx\n"; $pt = openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA, $test['iv'], $test['tag'], $test['aad']); var_dump($test['pt'] === $pt); } // no IV var_dump(openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA, '', $test['tag'], $test['aad'])); // failed because no AAD var_dump(openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA, $test['iv'], $test['tag'])); // failed because wrong tag var_dump(openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA, $test['iv'], str_repeat('x', 16), $test['aad'])); ?> --EXPECTF-- TEST 0 bool(true) TEST 1 bool(true) TEST 2 bool(true) TEST 3 bool(true) TEST 4 bool(true) TEST 5 bool(true) Warning: openssl_decrypt(): Setting of IV length for AEAD mode failed in %s on line %d bool(false) bool(false) bool(false)