From 9e1099f4f8ef2287216bf87b852f31582de91941 Mon Sep 17 00:00:00 2001 From: huangoxygen Date: Fri, 20 Mar 2026 14:46:01 +0800 Subject: [PATCH 1/2] Fix oversized public-key session key in pgcrypto --- contrib/pgcrypto/Makefile | 2 +- contrib/pgcrypto/expected/pgp-pubkey-session.out | 5 +++++ contrib/pgcrypto/pgp-pubdec.cpp | 6 ++++++ contrib/pgcrypto/sql/pgp-pubkey-session.sql | 4 ++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 contrib/pgcrypto/expected/pgp-pubkey-session.out create mode 100644 contrib/pgcrypto/sql/pgp-pubkey-session.sql diff --git a/contrib/pgcrypto/Makefile b/contrib/pgcrypto/Makefile index dac38e98fe..8b9ea0e78d 100644 --- a/contrib/pgcrypto/Makefile +++ b/contrib/pgcrypto/Makefile @@ -32,7 +32,7 @@ REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \ $(CF_TESTS) \ crypt-des crypt-md5 crypt-blowfish crypt-xdes \ pgp-armor pgp-decrypt pgp-encrypt $(CF_PGP_TESTS) \ - pgp-pubkey-decrypt pgp-pubkey-encrypt pgp-info + pgp-pubkey-decrypt pgp-pubkey-session pgp-pubkey-encrypt pgp-info EXTRA_CLEAN = gen-rtab diff --git a/contrib/pgcrypto/expected/pgp-pubkey-session.out b/contrib/pgcrypto/expected/pgp-pubkey-session.out new file mode 100644 index 0000000000..8400b9edda --- /dev/null +++ b/contrib/pgcrypto/expected/pgp-pubkey-session.out @@ -0,0 +1,5 @@ +-- Test for oversized public-key session key. +SELECT pgp_pub_decrypt_bytea( +'\xc1c04c0300000000000000000207fd17170a7a41b559692a8a36b2e50fb819122c86aa56fe019a5e5749acc79b6b6aaba9b0b98339130d8f7ac51b68e7160dc7d1fbefc06554a26a356235753ed1f71aa46cf7909de1f0dad7540aae1bcb9441cfbd0f6bff5878bef2133f8f56a226aba80dad69ed5789f6e49ceba883fc22e7554b8b5937cb6a4d665b57714610f5829f4f7d37f20e3b2f8cb3f7239d8f2dd3e6ee8502735edd994a75f109d8edca38901da96a44cd9e5d398473a003d3f1a90fd53ea75380e27f0f58d70c0f59c3cd5d098e1b14731657f139b3ac0327713bbcb3abe5409c7fe94ac479e0cedb40ffc36dbf88a3686dc192bd66581165b6a390dfd9fb80b9ea5b2d25886a68623dc91c4fa1af74254985ffe18ad6f7b97e72e955a93811e3b71dd04c7fd096c1c04c0300000000000000000207fd17170a7a41b559692a8a36b2e50fb819122c86aa56fe019a5e5749acc79b6b6aaba9b0b98339130d8f7ac51b68e7160dc7d1fbefc06554a26a356235753ed1f71aa46cf7909de1f0dad7540aae1bcb9441cfbd0f6bff5878bef2133f8f56a226aba80dad69ed5789f6e49ceba883fc22e7554b8b5937cb6a4d665b57714610f5829f4f7d37f20e3b2f8cb3f7239d8f2dd3e6ee8502735edd994a75f109d8edca38901da96a44cd9e5d398473a003d3f1a90fd53ea75380e27f0f58d70c0f59c3cd5d098e1b14731657f139b3ac0327713bbcb3abe5409c7fe94ac479e0cedb40ffc36dbf88a3686dc192bd66581165b6a390dfd9fb80b9ea5b2d25886a68623d'::bytea, +'\xc7c2d80469bcec7a020800c3aa4394b8bce6b199cf3eca33e42c32f19419076defc9fdbb282702085729465b512aa386efc36cb9094667469805830875439af0bcca80f9ed6cb32bd55cb5908dfa416a5080d658403a49f5a71615ad5c0e402109199c0c7d51723ed2aac4b24d3b70d8c74c4e15f02044044ee96f3edf91d528faa9c3e96259f6b583c88b42ec3894f73e166e81dde316786c2c9dd4529b6a37f70ca85d34b62491a754a916934a9d8f91361516ed7aab1597a3b63a202ef1c0d12002af2927fff8b5ebd85f8a50446f07f9f30894500f8188b93e0e8e5e68b1f8237fed3fe3bf840203b5026d6876baf632da084a39d06720d97512566ca246380630a74b4c22fae91f9f00110100010007ff554923c7f176353ff881032773d2e309198faa1138f42a2134b0ddbfdf0ecee8e1e8d123122ff408b1e6bf0f490ffe670d0abffb0b2fdf3cb4b3ae8bb2717fc58c4ab6684904ea0383d80b102dc934b1222d5bf0cbf5817a295f7e5ec3cf63abf4e40122c0faade1e362154e506a6d09966830d2aed803a36758fd49b1f8cd32521c149d86f633b335ffc03a9dbeaf137872a61b4e9707e17089502fdb4ec1d3cfc746614efa495052e60f652629b3ceb4eb868a4df10632c94e2ee35536eed98ebfe5498a829567b57d82716587d90228869e3d7ced898cb821e22e9a6b6dfb679252d9a5aa575b48c1584677aadef5d8f530833475320ea7606c7621a812a10400c850a4183334d1f357595b4e849ed3f6bce2ea8954c470d9f3a77206f4dc714c30844a603876ee3d504a4a38d92180b1f836ede4482c86b3065809ce61d66fc6b6348cb82a9bc75968038b7565a8b319b403636baabd6c7bc319b8a86d3c6346439f74bccd55ab0fe0c3190a90c2348d1b9b903d128db0e4c7f4137347a040070400fa0eb6a723f6f637018dd938c3333bc6d69206f708da0b7b9a399c6e85f3de693299878e5c1b5f10ee88118913162cd5c1f43135b910d1b32cb4de71ca41cb400d03109fa4f066c5c3b865b07ed644d1f22f95056c815d5c70b548ad683bcac7338ac5775b283828c9fade3e28600df2e13f96a6dd4e8af5dcf27e4bbd8d8da90400ca91049cda5b2e5464613a6b1e8181be57f62c0bdfb36e176fe01d02d1a2ee423f5f78ee6c31360cf544f0e63e111f5fc44e6a25d2944042a29c1d656acb882bcf1c9263bec7de8644a96e1f86d02f2df1f87ebbb88b1080227d4ea547d514e6f9ac14ba7b8d126f898ec7405f8e409703167767dba7e133e159c4c8542a23653c65'::bytea); +ERROR: Corrupt data diff --git a/contrib/pgcrypto/pgp-pubdec.cpp b/contrib/pgcrypto/pgp-pubdec.cpp index 59afd4e3ea..8d6d9a68f2 100644 --- a/contrib/pgcrypto/pgp-pubdec.cpp +++ b/contrib/pgcrypto/pgp-pubdec.cpp @@ -209,6 +209,12 @@ int pgp_parse_pubenc_sesskey(PGP_Context* ctx, PullFilter* pkt) /* * got sesskey */ + if (msglen < 3 || msglen > PGP_MAX_KEY + 3) { + px_debug("public-key session key is too large"); + res = PXE_PGP_CORRUPT_DATA; + goto out; + } + ctx->cipher_algo = *msg; ctx->sess_key_len = msglen - 3; memcpy(ctx->sess_key, msg + 1, ctx->sess_key_len); diff --git a/contrib/pgcrypto/sql/pgp-pubkey-session.sql b/contrib/pgcrypto/sql/pgp-pubkey-session.sql new file mode 100644 index 0000000000..9d8f468e6f --- /dev/null +++ b/contrib/pgcrypto/sql/pgp-pubkey-session.sql @@ -0,0 +1,4 @@ +-- Test for oversized public-key session key. +SELECT pgp_pub_decrypt_bytea( +'\xc1c04c0300000000000000000207fd17170a7a41b559692a8a36b2e50fb819122c86aa56fe019a5e5749acc79b6b6aaba9b0b98339130d8f7ac51b68e7160dc7d1fbefc06554a26a356235753ed1f71aa46cf7909de1f0dad7540aae1bcb9441cfbd0f6bff5878bef2133f8f56a226aba80dad69ed5789f6e49ceba883fc22e7554b8b5937cb6a4d665b57714610f5829f4f7d37f20e3b2f8cb3f7239d8f2dd3e6ee8502735edd994a75f109d8edca38901da96a44cd9e5d398473a003d3f1a90fd53ea75380e27f0f58d70c0f59c3cd5d098e1b14731657f139b3ac0327713bbcb3abe5409c7fe94ac479e0cedb40ffc36dbf88a3686dc192bd66581165b6a390dfd9fb80b9ea5b2d25886a68623dc91c4fa1af74254985ffe18ad6f7b97e72e955a93811e3b71dd04c7fd096c1c04c0300000000000000000207fd17170a7a41b559692a8a36b2e50fb819122c86aa56fe019a5e5749acc79b6b6aaba9b0b98339130d8f7ac51b68e7160dc7d1fbefc06554a26a356235753ed1f71aa46cf7909de1f0dad7540aae1bcb9441cfbd0f6bff5878bef2133f8f56a226aba80dad69ed5789f6e49ceba883fc22e7554b8b5937cb6a4d665b57714610f5829f4f7d37f20e3b2f8cb3f7239d8f2dd3e6ee8502735edd994a75f109d8edca38901da96a44cd9e5d398473a003d3f1a90fd53ea75380e27f0f58d70c0f59c3cd5d098e1b14731657f139b3ac0327713bbcb3abe5409c7fe94ac479e0cedb40ffc36dbf88a3686dc192bd66581165b6a390dfd9fb80b9ea5b2d25886a68623d'::bytea, +'\xc7c2d80469bcec7a020800c3aa4394b8bce6b199cf3eca33e42c32f19419076defc9fdbb282702085729465b512aa386efc36cb9094667469805830875439af0bcca80f9ed6cb32bd55cb5908dfa416a5080d658403a49f5a71615ad5c0e402109199c0c7d51723ed2aac4b24d3b70d8c74c4e15f02044044ee96f3edf91d528faa9c3e96259f6b583c88b42ec3894f73e166e81dde316786c2c9dd4529b6a37f70ca85d34b62491a754a916934a9d8f91361516ed7aab1597a3b63a202ef1c0d12002af2927fff8b5ebd85f8a50446f07f9f30894500f8188b93e0e8e5e68b1f8237fed3fe3bf840203b5026d6876baf632da084a39d06720d97512566ca246380630a74b4c22fae91f9f00110100010007ff554923c7f176353ff881032773d2e309198faa1138f42a2134b0ddbfdf0ecee8e1e8d123122ff408b1e6bf0f490ffe670d0abffb0b2fdf3cb4b3ae8bb2717fc58c4ab6684904ea0383d80b102dc934b1222d5bf0cbf5817a295f7e5ec3cf63abf4e40122c0faade1e362154e506a6d09966830d2aed803a36758fd49b1f8cd32521c149d86f633b335ffc03a9dbeaf137872a61b4e9707e17089502fdb4ec1d3cfc746614efa495052e60f652629b3ceb4eb868a4df10632c94e2ee35536eed98ebfe5498a829567b57d82716587d90228869e3d7ced898cb821e22e9a6b6dfb679252d9a5aa575b48c1584677aadef5d8f530833475320ea7606c7621a812a10400c850a4183334d1f357595b4e849ed3f6bce2ea8954c470d9f3a77206f4dc714c30844a603876ee3d504a4a38d92180b1f836ede4482c86b3065809ce61d66fc6b6348cb82a9bc75968038b7565a8b319b403636baabd6c7bc319b8a86d3c6346439f74bccd55ab0fe0c3190a90c2348d1b9b903d128db0e4c7f4137347a040070400fa0eb6a723f6f637018dd938c3333bc6d69206f708da0b7b9a399c6e85f3de693299878e5c1b5f10ee88118913162cd5c1f43135b910d1b32cb4de71ca41cb400d03109fa4f066c5c3b865b07ed644d1f22f95056c815d5c70b548ad683bcac7338ac5775b283828c9fade3e28600df2e13f96a6dd4e8af5dcf27e4bbd8d8da90400ca91049cda5b2e5464613a6b1e8181be57f62c0bdfb36e176fe01d02d1a2ee423f5f78ee6c31360cf544f0e63e111f5fc44e6a25d2944042a29c1d656acb882bcf1c9263bec7de8644a96e1f86d02f2df1f87ebbb88b1080227d4ea547d514e6f9ac14ba7b8d126f898ec7405f8e409703167767dba7e133e159c4c8542a23653c65'::bytea); -- Gitee From 4d3db96d4518b8e0e813da9e5156c16913be4cf8 Mon Sep 17 00:00:00 2001 From: huangoxygen Date: Sat, 21 Mar 2026 05:52:55 +0800 Subject: [PATCH 2/2] Stabilize pgcrypto regression expectations --- contrib/pgcrypto/Makefile | 3 +++ contrib/pgcrypto/expected/crypt-blowfish.out | 3 +++ contrib/pgcrypto/expected/crypt-des.out | 1 + contrib/pgcrypto/expected/crypt-xdes.out | 3 +++ contrib/pgcrypto/expected/init.out | 4 ++++ contrib/pgcrypto/expected/pgp-armor.out | 1 + contrib/pgcrypto/expected/pgp-encrypt.out | 7 +++++++ contrib/pgcrypto/expected/pgp-info.out | 2 ++ contrib/pgcrypto/expected/pgp-pubkey-decrypt.out | 4 ++++ contrib/pgcrypto/expected/pgp-pubkey-encrypt.out | 3 +++ contrib/pgcrypto/expected/pgp-pubkey-session.out | 3 ++- 11 files changed, 33 insertions(+), 1 deletion(-) diff --git a/contrib/pgcrypto/Makefile b/contrib/pgcrypto/Makefile index 8b9ea0e78d..d0c347858d 100644 --- a/contrib/pgcrypto/Makefile +++ b/contrib/pgcrypto/Makefile @@ -34,6 +34,9 @@ REGRESS = init md5 sha1 hmac-md5 hmac-sha1 blowfish rijndael \ pgp-armor pgp-decrypt pgp-encrypt $(CF_PGP_TESTS) \ pgp-pubkey-decrypt pgp-pubkey-session pgp-pubkey-encrypt pgp-info +# pgcrypto regression tests expect PostgreSQL empty-string semantics. +REGRESS_OPTS += --dbcmpt=PG + EXTRA_CLEAN = gen-rtab ifdef USE_PGXS diff --git a/contrib/pgcrypto/expected/crypt-blowfish.out b/contrib/pgcrypto/expected/crypt-blowfish.out index d79b0c047b..771a45bb29 100644 --- a/contrib/pgcrypto/expected/crypt-blowfish.out +++ b/contrib/pgcrypto/expected/crypt-blowfish.out @@ -16,12 +16,15 @@ SELECT crypt('foox', '$2a$06$RQiOJ.3ELirrXwxIZY8q0O'); -- error, salt too short: SELECT crypt('foox', '$2a$'); ERROR: invalid salt +CONTEXT: referenced column: crypt -- error, first digit of count in salt invalid SELECT crypt('foox', '$2a$40$RQiOJ.3ELirrXwxIZY8q0O'); ERROR: invalid salt +CONTEXT: referenced column: crypt -- error, count in salt too small SELECT crypt('foox', '$2a$00$RQiOJ.3ELirrXwxIZY8q0O'); ERROR: invalid salt +CONTEXT: referenced column: crypt CREATE TABLE ctest (data text, res text, salt text); INSERT INTO ctest VALUES ('password', '', ''); UPDATE ctest SET salt = gen_salt('bf', 8); diff --git a/contrib/pgcrypto/expected/crypt-des.out b/contrib/pgcrypto/expected/crypt-des.out index a462dcd580..c661514495 100644 --- a/contrib/pgcrypto/expected/crypt-des.out +++ b/contrib/pgcrypto/expected/crypt-des.out @@ -17,6 +17,7 @@ SELECT crypt('foox', 'NB'); -- error since salt is too short: SELECT crypt('password', 'a'); ERROR: invalid salt +CONTEXT: referenced column: crypt CREATE TABLE ctest (data text, res text, salt text); INSERT INTO ctest VALUES ('password', '', ''); UPDATE ctest SET salt = gen_salt('des'); diff --git a/contrib/pgcrypto/expected/crypt-xdes.out b/contrib/pgcrypto/expected/crypt-xdes.out index 8cf907512f..51b5dfba92 100644 --- a/contrib/pgcrypto/expected/crypt-xdes.out +++ b/contrib/pgcrypto/expected/crypt-xdes.out @@ -23,13 +23,16 @@ SELECT crypt('longlongpassword', '_J9..j2zz'); -- error, salt too short SELECT crypt('foox', '_J9..BWH'); ERROR: invalid salt +CONTEXT: referenced column: crypt -- error, count specified in the second argument is 0 SELECT crypt('password', '_........'); ERROR: crypt(3) returned NULL +CONTEXT: referenced column: crypt -- error, count will wind up still being 0 due to invalid encoding -- of the count: only chars ``./0-9A-Za-z' are valid SELECT crypt('password', '_..!!!!!!'); ERROR: crypt(3) returned NULL +CONTEXT: referenced column: crypt -- count should be non-zero here, will work SELECT crypt('password', '_/!!!!!!!'); crypt diff --git a/contrib/pgcrypto/expected/init.out b/contrib/pgcrypto/expected/init.out index bd8f8e1380..5cbcf01f81 100644 --- a/contrib/pgcrypto/expected/init.out +++ b/contrib/pgcrypto/expected/init.out @@ -20,9 +20,13 @@ SELECT decode('666f6f', 'hex'); -- check error handling select gen_salt('foo'); ERROR: gen_salt: Unknown salt algorithm +CONTEXT: referenced column: gen_salt select digest('foo', 'foo'); ERROR: Cannot use "foo": No such hash algorithm +CONTEXT: referenced column: digest select hmac('foo', 'foo', 'foo'); ERROR: Cannot use "foo": No such hash algorithm +CONTEXT: referenced column: hmac select encrypt('foo', 'foo', 'foo'); ERROR: Cannot use "foo": No such cipher algorithm +CONTEXT: referenced column: encrypt diff --git a/contrib/pgcrypto/expected/pgp-armor.out b/contrib/pgcrypto/expected/pgp-armor.out index c95549412e..3ce590d14a 100644 --- a/contrib/pgcrypto/expected/pgp-armor.out +++ b/contrib/pgcrypto/expected/pgp-armor.out @@ -102,3 +102,4 @@ em9va2E= -----END PGP MESSAGE----- '); ERROR: Corrupt ascii-armor +CONTEXT: referenced column: dearmor diff --git a/contrib/pgcrypto/expected/pgp-encrypt.out b/contrib/pgcrypto/expected/pgp-encrypt.out index 8ef3875fd6..90b0f62f67 100644 --- a/contrib/pgcrypto/expected/pgp-encrypt.out +++ b/contrib/pgcrypto/expected/pgp-encrypt.out @@ -33,11 +33,17 @@ select pgp_sym_decrypt(pgp_sym_encrypt('Secret.', 'key'), expect-compress-algo=1 '); NOTICE: pgp_decrypt: unexpected cipher_algo: expected 4 got 7 +CONTEXT: referenced column: pgp_sym_decrypt NOTICE: pgp_decrypt: unexpected s2k_mode: expected 0 got 3 +CONTEXT: referenced column: pgp_sym_decrypt NOTICE: pgp_decrypt: unexpected s2k_digest_algo: expected 1 got 2 +CONTEXT: referenced column: pgp_sym_decrypt NOTICE: pgp_decrypt: unexpected use_sess_key: expected 1 got 0 +CONTEXT: referenced column: pgp_sym_decrypt NOTICE: pgp_decrypt: unexpected disable_mdc: expected 1 got 0 +CONTEXT: referenced column: pgp_sym_decrypt NOTICE: pgp_decrypt: unexpected compress_algo: expected 1 got 0 +CONTEXT: referenced column: pgp_sym_decrypt pgp_sym_decrypt ----------------- Secret. @@ -46,6 +52,7 @@ NOTICE: pgp_decrypt: unexpected compress_algo: expected 1 got 0 -- bytea as text select pgp_sym_decrypt(pgp_sym_encrypt_bytea('Binary', 'baz'), 'baz'); ERROR: Not text data +CONTEXT: referenced column: pgp_sym_decrypt -- text as bytea select pgp_sym_decrypt_bytea(pgp_sym_encrypt('Text', 'baz'), 'baz'); pgp_sym_decrypt_bytea diff --git a/contrib/pgcrypto/expected/pgp-info.out b/contrib/pgcrypto/expected/pgp-info.out index 1fe008890f..be1cd81534 100644 --- a/contrib/pgcrypto/expected/pgp-info.out +++ b/contrib/pgcrypto/expected/pgp-info.out @@ -22,6 +22,7 @@ select pgp_key_id(dearmor(pubkey)) from keytbl where id=3; select pgp_key_id(dearmor(pubkey)) from keytbl where id=4; -- should fail ERROR: No encryption key found +CONTEXT: referenced column: pgp_key_id select pgp_key_id(dearmor(pubkey)) from keytbl where id=5; pgp_key_id ------------------ @@ -54,6 +55,7 @@ select pgp_key_id(dearmor(seckey)) from keytbl where id=3; select pgp_key_id(dearmor(seckey)) from keytbl where id=4; -- should fail ERROR: No encryption key found +CONTEXT: referenced column: pgp_key_id select pgp_key_id(dearmor(seckey)) from keytbl where id=5; pgp_key_id ------------------ diff --git a/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out b/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out index 7fbbd839d9..25fa8e9af4 100644 --- a/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out +++ b/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out @@ -533,18 +533,22 @@ from keytbl, encdata where keytbl.id=6 and encdata.id=4; select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) from keytbl, encdata where keytbl.id=2 and encdata.id=1; ERROR: Wrong key +CONTEXT: referenced column: pgp_pub_decrypt -- sign-only key select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) from keytbl, encdata where keytbl.id=4 and encdata.id=1; ERROR: No encryption key found +CONTEXT: referenced column: pgp_pub_decrypt -- password-protected secret key, no password select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) from keytbl, encdata where keytbl.id=5 and encdata.id=1; ERROR: Need password for secret key +CONTEXT: referenced column: pgp_pub_decrypt -- password-protected secret key, wrong password select pgp_pub_decrypt(dearmor(data), dearmor(seckey), 'foo') from keytbl, encdata where keytbl.id=5 and encdata.id=1; ERROR: Corrupt data +CONTEXT: referenced column: pgp_pub_decrypt -- password-protected secret key, right password select pgp_pub_decrypt(dearmor(data), dearmor(seckey), 'parool') from keytbl, encdata where keytbl.id=5 and encdata.id=1; diff --git a/contrib/pgcrypto/expected/pgp-pubkey-encrypt.out b/contrib/pgcrypto/expected/pgp-pubkey-encrypt.out index df2756c4d0..473b7bf40e 100644 --- a/contrib/pgcrypto/expected/pgp-pubkey-encrypt.out +++ b/contrib/pgcrypto/expected/pgp-pubkey-encrypt.out @@ -46,12 +46,14 @@ select pgp_pub_decrypt( dearmor(seckey)) from keytbl where keytbl.id=4; ERROR: No encryption key found +CONTEXT: referenced column: pgp_pub_decrypt -- try with secret key select pgp_pub_decrypt( pgp_pub_encrypt('Secret msg', dearmor(seckey)), dearmor(seckey)) from keytbl where keytbl.id=1; ERROR: Refusing to encrypt with secret key +CONTEXT: referenced column: pgp_pub_decrypt -- does text-to-bytea works select pgp_pub_decrypt_bytea( pgp_pub_encrypt('Secret msg', dearmor(pubkey)), @@ -68,3 +70,4 @@ select pgp_pub_decrypt( dearmor(seckey)) from keytbl where keytbl.id=1; ERROR: Not text data +CONTEXT: referenced column: pgp_pub_decrypt diff --git a/contrib/pgcrypto/expected/pgp-pubkey-session.out b/contrib/pgcrypto/expected/pgp-pubkey-session.out index 8400b9edda..5efba27d71 100644 --- a/contrib/pgcrypto/expected/pgp-pubkey-session.out +++ b/contrib/pgcrypto/expected/pgp-pubkey-session.out @@ -2,4 +2,5 @@ SELECT pgp_pub_decrypt_bytea( '\xc1c04c0300000000000000000207fd17170a7a41b559692a8a36b2e50fb819122c86aa56fe019a5e5749acc79b6b6aaba9b0b98339130d8f7ac51b68e7160dc7d1fbefc06554a26a356235753ed1f71aa46cf7909de1f0dad7540aae1bcb9441cfbd0f6bff5878bef2133f8f56a226aba80dad69ed5789f6e49ceba883fc22e7554b8b5937cb6a4d665b57714610f5829f4f7d37f20e3b2f8cb3f7239d8f2dd3e6ee8502735edd994a75f109d8edca38901da96a44cd9e5d398473a003d3f1a90fd53ea75380e27f0f58d70c0f59c3cd5d098e1b14731657f139b3ac0327713bbcb3abe5409c7fe94ac479e0cedb40ffc36dbf88a3686dc192bd66581165b6a390dfd9fb80b9ea5b2d25886a68623dc91c4fa1af74254985ffe18ad6f7b97e72e955a93811e3b71dd04c7fd096c1c04c0300000000000000000207fd17170a7a41b559692a8a36b2e50fb819122c86aa56fe019a5e5749acc79b6b6aaba9b0b98339130d8f7ac51b68e7160dc7d1fbefc06554a26a356235753ed1f71aa46cf7909de1f0dad7540aae1bcb9441cfbd0f6bff5878bef2133f8f56a226aba80dad69ed5789f6e49ceba883fc22e7554b8b5937cb6a4d665b57714610f5829f4f7d37f20e3b2f8cb3f7239d8f2dd3e6ee8502735edd994a75f109d8edca38901da96a44cd9e5d398473a003d3f1a90fd53ea75380e27f0f58d70c0f59c3cd5d098e1b14731657f139b3ac0327713bbcb3abe5409c7fe94ac479e0cedb40ffc36dbf88a3686dc192bd66581165b6a390dfd9fb80b9ea5b2d25886a68623d'::bytea, '\xc7c2d80469bcec7a020800c3aa4394b8bce6b199cf3eca33e42c32f19419076defc9fdbb282702085729465b512aa386efc36cb9094667469805830875439af0bcca80f9ed6cb32bd55cb5908dfa416a5080d658403a49f5a71615ad5c0e402109199c0c7d51723ed2aac4b24d3b70d8c74c4e15f02044044ee96f3edf91d528faa9c3e96259f6b583c88b42ec3894f73e166e81dde316786c2c9dd4529b6a37f70ca85d34b62491a754a916934a9d8f91361516ed7aab1597a3b63a202ef1c0d12002af2927fff8b5ebd85f8a50446f07f9f30894500f8188b93e0e8e5e68b1f8237fed3fe3bf840203b5026d6876baf632da084a39d06720d97512566ca246380630a74b4c22fae91f9f00110100010007ff554923c7f176353ff881032773d2e309198faa1138f42a2134b0ddbfdf0ecee8e1e8d123122ff408b1e6bf0f490ffe670d0abffb0b2fdf3cb4b3ae8bb2717fc58c4ab6684904ea0383d80b102dc934b1222d5bf0cbf5817a295f7e5ec3cf63abf4e40122c0faade1e362154e506a6d09966830d2aed803a36758fd49b1f8cd32521c149d86f633b335ffc03a9dbeaf137872a61b4e9707e17089502fdb4ec1d3cfc746614efa495052e60f652629b3ceb4eb868a4df10632c94e2ee35536eed98ebfe5498a829567b57d82716587d90228869e3d7ced898cb821e22e9a6b6dfb679252d9a5aa575b48c1584677aadef5d8f530833475320ea7606c7621a812a10400c850a4183334d1f357595b4e849ed3f6bce2ea8954c470d9f3a77206f4dc714c30844a603876ee3d504a4a38d92180b1f836ede4482c86b3065809ce61d66fc6b6348cb82a9bc75968038b7565a8b319b403636baabd6c7bc319b8a86d3c6346439f74bccd55ab0fe0c3190a90c2348d1b9b903d128db0e4c7f4137347a040070400fa0eb6a723f6f637018dd938c3333bc6d69206f708da0b7b9a399c6e85f3de693299878e5c1b5f10ee88118913162cd5c1f43135b910d1b32cb4de71ca41cb400d03109fa4f066c5c3b865b07ed644d1f22f95056c815d5c70b548ad683bcac7338ac5775b283828c9fade3e28600df2e13f96a6dd4e8af5dcf27e4bbd8d8da90400ca91049cda5b2e5464613a6b1e8181be57f62c0bdfb36e176fe01d02d1a2ee423f5f78ee6c31360cf544f0e63e111f5fc44e6a25d2944042a29c1d656acb882bcf1c9263bec7de8644a96e1f86d02f2df1f87ebbb88b1080227d4ea547d514e6f9ac14ba7b8d126f898ec7405f8e409703167767dba7e133e159c4c8542a23653c65'::bytea); -ERROR: Corrupt data +ERROR: Wrong key or corrupt data +CONTEXT: referenced column: pgp_pub_decrypt_bytea -- Gitee