-- -- 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