1-- 2-- PGP Public Key Encryption 3-- 4-- ensure consistent test output regardless of the default bytea format 5SET bytea_output TO escape; 6-- successful encrypt/decrypt 7select pgp_pub_decrypt( 8 pgp_pub_encrypt('Secret msg', dearmor(pubkey)), 9 dearmor(seckey)) 10from keytbl where keytbl.id=1; 11 pgp_pub_decrypt 12----------------- 13 Secret msg 14(1 row) 15 16select pgp_pub_decrypt( 17 pgp_pub_encrypt('Secret msg', dearmor(pubkey)), 18 dearmor(seckey)) 19from keytbl where keytbl.id=2; 20 pgp_pub_decrypt 21----------------- 22 Secret msg 23(1 row) 24 25select pgp_pub_decrypt( 26 pgp_pub_encrypt('Secret msg', dearmor(pubkey)), 27 dearmor(seckey)) 28from keytbl where keytbl.id=3; 29 pgp_pub_decrypt 30----------------- 31 Secret msg 32(1 row) 33 34select pgp_pub_decrypt( 35 pgp_pub_encrypt('Secret msg', dearmor(pubkey)), 36 dearmor(seckey)) 37from keytbl where keytbl.id=6; 38 pgp_pub_decrypt 39----------------- 40 Secret msg 41(1 row) 42 43-- try with rsa-sign only 44select pgp_pub_decrypt( 45 pgp_pub_encrypt('Secret msg', dearmor(pubkey)), 46 dearmor(seckey)) 47from keytbl where keytbl.id=4; 48ERROR: No encryption key found 49-- try with secret key 50select pgp_pub_decrypt( 51 pgp_pub_encrypt('Secret msg', dearmor(seckey)), 52 dearmor(seckey)) 53from keytbl where keytbl.id=1; 54ERROR: Refusing to encrypt with secret key 55-- does text-to-bytea works 56select pgp_pub_decrypt_bytea( 57 pgp_pub_encrypt('Secret msg', dearmor(pubkey)), 58 dearmor(seckey)) 59from keytbl where keytbl.id=1; 60 pgp_pub_decrypt_bytea 61----------------------- 62 Secret msg 63(1 row) 64 65-- and bytea-to-text? 66select pgp_pub_decrypt( 67 pgp_pub_encrypt_bytea('Secret msg', dearmor(pubkey)), 68 dearmor(seckey)) 69from keytbl where keytbl.id=1; 70ERROR: Not text data 71