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