mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	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
 |