mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
bcba09e27c
Add bytea.h inclusions as needed. Some of the contrib regression tests need to be de-hexified, too. Per buildfarm.
71 lines
1.6 KiB
Plaintext
71 lines
1.6 KiB
Plaintext
--
|
|
-- PGP Public Key Encryption
|
|
--
|
|
-- ensure consistent test output regardless of the default bytea format
|
|
SET bytea_output TO escape;
|
|
-- successful encrypt/decrypt
|
|
select pgp_pub_decrypt(
|
|
pgp_pub_encrypt('Secret msg', dearmor(pubkey)),
|
|
dearmor(seckey))
|
|
from keytbl where keytbl.id=1;
|
|
pgp_pub_decrypt
|
|
-----------------
|
|
Secret msg
|
|
(1 row)
|
|
|
|
select pgp_pub_decrypt(
|
|
pgp_pub_encrypt('Secret msg', dearmor(pubkey)),
|
|
dearmor(seckey))
|
|
from keytbl where keytbl.id=2;
|
|
pgp_pub_decrypt
|
|
-----------------
|
|
Secret msg
|
|
(1 row)
|
|
|
|
select pgp_pub_decrypt(
|
|
pgp_pub_encrypt('Secret msg', dearmor(pubkey)),
|
|
dearmor(seckey))
|
|
from keytbl where keytbl.id=3;
|
|
pgp_pub_decrypt
|
|
-----------------
|
|
Secret msg
|
|
(1 row)
|
|
|
|
select pgp_pub_decrypt(
|
|
pgp_pub_encrypt('Secret msg', dearmor(pubkey)),
|
|
dearmor(seckey))
|
|
from keytbl where keytbl.id=6;
|
|
pgp_pub_decrypt
|
|
-----------------
|
|
Secret msg
|
|
(1 row)
|
|
|
|
-- try with rsa-sign only
|
|
select pgp_pub_decrypt(
|
|
pgp_pub_encrypt('Secret msg', dearmor(pubkey)),
|
|
dearmor(seckey))
|
|
from keytbl where keytbl.id=4;
|
|
ERROR: No encryption key found
|
|
-- 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
|
|
-- does text-to-bytea works
|
|
select pgp_pub_decrypt_bytea(
|
|
pgp_pub_encrypt('Secret msg', dearmor(pubkey)),
|
|
dearmor(seckey))
|
|
from keytbl where keytbl.id=1;
|
|
pgp_pub_decrypt_bytea
|
|
-----------------------
|
|
Secret msg
|
|
(1 row)
|
|
|
|
-- and bytea-to-text?
|
|
select pgp_pub_decrypt(
|
|
pgp_pub_encrypt_bytea('Secret msg', dearmor(pubkey)),
|
|
dearmor(seckey))
|
|
from keytbl where keytbl.id=1;
|
|
ERROR: Not text data
|