*** /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/expected/pgp-armor.out 2016-03-15 14:32:12.933977992 +0300 --- /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/results/pgp-armor.out 2016-03-15 16:28:48.539641414 +0300 *************** *** 111,372 **** =ZZZZ -----END PGP MESSAGE----- '); ! ERROR: Corrupt ascii-armor ! -- corrupt (no empty line) ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! ERROR: Corrupt ascii-armor ! -- no headers ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! -----+------- ! (0 rows) ! ! -- header with empty value ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! foo: ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! -----+------- ! foo | ! (1 row) ! ! -- simple ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! fookey: foovalue ! barkey: barvalue ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! --------+---------- ! fookey | foovalue ! barkey | barvalue ! (2 rows) ! ! -- insane keys, part 1 ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! insane:key : ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! -------------+------- ! insane:key | ! (1 row) ! ! -- insane keys, part 2 ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! insane:key : text value here ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! -------------+----------------- ! insane:key | text value here ! (1 row) ! ! -- long value ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! long: this value is more than 76 characters long, but it should still parse correctly as that''s permitted by RFC 4880 ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! ------+----------------------------------------------------------------------------------------------------------------- ! long | this value is more than 76 characters long, but it should still parse correctly as that's permitted by RFC 4880 ! (1 row) ! ! -- long value, split up ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! long: this value is more than 76 characters long, but it should still ! long: parse correctly as that''s permitted by RFC 4880 ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! ------+------------------------------------------------------------------ ! long | this value is more than 76 characters long, but it should still ! long | parse correctly as that's permitted by RFC 4880 ! (2 rows) ! ! -- long value, split up, part 2 ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! long: this value is more than ! long: 76 characters long, but it should still ! long: parse correctly as that''s permitted by RFC 4880 ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! ------+------------------------------------------------- ! long | this value is more than ! long | 76 characters long, but it should still ! long | parse correctly as that's permitted by RFC 4880 ! (3 rows) ! ! -- long value, split up, part 3 ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! emptykey: ! long: this value is more than ! emptykey: ! long: 76 characters long, but it should still ! emptykey: ! long: parse correctly as that''s permitted by RFC 4880 ! emptykey: ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! '); ! key | value ! ----------+------------------------------------------------- ! emptykey | ! long | this value is more than ! emptykey | ! long | 76 characters long, but it should still ! emptykey | ! long | parse correctly as that's permitted by RFC 4880 ! emptykey | ! (7 rows) ! ! select * from pgp_armor_headers(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.blowfish.sha1.mdc.s2k3.z0 ! ! jA0EBAMCfFNwxnvodX9g0jwB4n4s26/g5VmKzVab1bX1SmwY7gvgvlWdF3jKisvS ! yA6Ce1QTMK3KdL2MPfamsTUSAML8huCJMwYQFfE= ! =JcP+ ! -----END PGP MESSAGE----- ! '); ! key | value ! ---------+-------------------------------- ! Comment | dat1.blowfish.sha1.mdc.s2k3.z0 ! (1 row) ! ! -- test CR+LF line endings ! select * from pgp_armor_headers(replace(' ! -----BEGIN PGP MESSAGE----- ! fookey: foovalue ! barkey: barvalue ! ! em9va2E= ! =ZZZZ ! -----END PGP MESSAGE----- ! ', E'\n', E'\r\n')); ! key | value ! --------+---------- ! fookey | foovalue ! barkey | barvalue ! (2 rows) ! ! -- test header generation ! select armor('zooka', array['foo'], array['bar']); ! armor ! ----------------------------- ! -----BEGIN PGP MESSAGE-----+ ! foo: bar + ! + ! em9va2E= + ! =D5cR + ! -----END PGP MESSAGE----- + ! ! (1 row) ! ! select armor('zooka', array['Version', 'Comment'], array['Created by pgcrypto', 'PostgreSQL, the world''s most advanced open source database']); ! armor ! --------------------------------------------------------------------- ! -----BEGIN PGP MESSAGE----- + ! Version: Created by pgcrypto + ! Comment: PostgreSQL, the world's most advanced open source database+ ! + ! em9va2E= + ! =D5cR + ! -----END PGP MESSAGE----- + ! ! (1 row) ! ! select * from pgp_armor_headers( ! armor('zooka', array['Version', 'Comment'], ! array['Created by pgcrypto', 'PostgreSQL, the world''s most advanced open source database'])); ! key | value ! ---------+------------------------------------------------------------ ! Version | Created by pgcrypto ! Comment | PostgreSQL, the world's most advanced open source database ! (2 rows) ! ! -- error/corner cases ! select armor('', array['foo'], array['too', 'many']); ! ERROR: mismatched array dimensions ! select armor('', array['too', 'many'], array['foo']); ! ERROR: mismatched array dimensions ! select armor('', array[['']], array['foo']); ! ERROR: wrong number of array subscripts ! select armor('', array['foo'], array[['']]); ! ERROR: wrong number of array subscripts ! select armor('', array[null], array['foo']); ! ERROR: null value not allowed for header key ! select armor('', array['foo'], array[null]); ! ERROR: null value not allowed for header value ! select armor('', '[0:0]={"foo"}', array['foo']); ! armor ! ----------------------------- ! -----BEGIN PGP MESSAGE-----+ ! foo: foo + ! + ! =twTO + ! -----END PGP MESSAGE----- + ! ! (1 row) ! ! select armor('', array['foo'], '[0:0]={"foo"}'); ! armor ! ----------------------------- ! -----BEGIN PGP MESSAGE-----+ ! foo: foo + ! + ! =twTO + ! -----END PGP MESSAGE----- + ! ! (1 row) ! ! select armor('', array[E'embedded\nnewline'], array['foo']); ! ERROR: header key must not contain newlines ! select armor('', array['foo'], array[E'embedded\nnewline']); ! ERROR: header value must not contain newlines ! select armor('', array['embedded: colon+space'], array['foo']); ! ERROR: header key must not contain ": " --- 111,117 ---- =ZZZZ -----END PGP MESSAGE----- '); ! server closed the connection unexpectedly ! This probably means the server terminated abnormally ! before or while processing the request. ! connection to server was lost ====================================================================== *** /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/expected/pgp-decrypt.out 2016-03-15 14:32:12.933977992 +0300 --- /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/results/pgp-decrypt.out 2016-03-15 16:28:48.603642001 +0300 *************** *** 1,425 **** ! -- ! -- pgp_descrypt tests ! -- ! -- Checking ciphers ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.blowfish.sha1.mdc.s2k3.z0 ! ! jA0EBAMCfFNwxnvodX9g0jwB4n4s26/g5VmKzVab1bX1SmwY7gvgvlWdF3jKisvS ! yA6Ce1QTMK3KdL2MPfamsTUSAML8huCJMwYQFfE= ! =JcP+ ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCci97v0Q6Z0Zg0kQBsVf5Oe3iC+FBzUmuMV9KxmAyOMyjCc/5i8f1Eest ! UTAsG35A1vYs02VARKzGz6xI2UHwFUirP+brPBg3Ee7muOx8pA== ! =XtrP ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes192.sha1.mdc.s2k3.z0 ! ! jA0ECAMCI7YQpWqp3D1g0kQBCjB7GlX7+SQeXNleXeXQ78ZAPNliquGDq9u378zI ! 5FPTqAhIB2/2fjY8QEIs1ai00qphjX2NitxV/3Wn+6dufB4Q4g== ! =rCZt ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes256.sha1.mdc.s2k3.z0 ! ! jA0ECQMC4f/5djqCC1Rg0kQBTHEPsD+Sw7biBsM2er3vKyGPAQkuTBGKC5ie7hT/ ! lceMfQdbAg6oTFyJpk/wH18GzRDphCofg0X8uLgkAKMrpcmgog== ! =fB6S ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! -- Checking MDC modes ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.nomdc.s2k3.z0 ! ! jA0EBwMCnv07rlXqWctgyS2Dm2JfOKCRL4sLSLJUC8RS2cH7cIhKSuLitOtyquB+ ! u9YkgfJfsuRJmgQ9tmo= ! =60ui ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCEeP3idNjQ1Bg0kQBf4G0wX+2QNzLh2YNwYkQgQkfYhn/hLXjV4nK9nsE ! 8Ex1Dsdt5UPvOz8W8VKQRS6loOfOe+yyXil8W3IYFwUpdDUi+Q== ! =moGf ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! -- Checking hashes ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.md5.mdc.s2k3.z0 ! ! jA0EBwMClrXXtOXetohg0kQBn0Kl1ymevQZRHkdoYRHgzCwSQEiss7zYff2UNzgO ! KyRrHf7zEBuZiZ2AG34jNVMOLToj1jJUg5zTSdecUzQVCykWTA== ! =NyLk ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCApbdlrURoWJg0kQBzHM/E0o7djY82bNuspjxjAcPFrrtp0uvDdMQ4z2m ! /PM8jhgI5vxFYfNQjLl8y3fHYIomk9YflN9K/Q13iq8A8sjeTw== ! =FxbQ ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! -- Checking S2K modes ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k0.z0 ! ! jAQEBwAC0kQBKTaLAKE3xzps+QIZowqRNb2eAdzBw2LxEW2YD5PgNlbhJdGg+dvw ! Ah9GXjGS1TVALzTImJbz1uHUZRfhJlFbc5yGQw== ! =YvkV ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k1.z0 ! ! jAwEBwEC/QTByBLI3b/SRAHPxKzI6SZBo5lAEOD+EsvKQWO4adL9tDY+++Iqy1xK ! 4IaWXVKEj9R2Lr2xntWWMGZtcKtjD2lFFRXXd9dZp1ZThNDz ! =dbXm ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCEq4Su3ZqNEJg0kQB4QG5jBTKF0i04xtH+avzmLhstBNRxvV3nsmB3cwl ! z+9ZaA/XdSx5ZiFnMym8P6r8uY9rLjjNptvvRHlxIReF+p9MNg== ! =VJKg ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes192.sha1.mdc.s2k0.z0 ! ! jAQECAAC0kQBBDnQWkgsx9YFaqDfWmpsiyAJ6y2xG/sBvap1dySYEMuZ+wJTXQ9E ! Cr3i2M7TgVZ0M4jp4QL0adG1lpN5iK7aQeOwMw== ! =cg+i ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes192.sha1.mdc.s2k1.z0 ! ! jAwECAECruOfyNDFiTnSRAEVoGXm4A9UZKkWljdzjEO/iaE7mIraltIpQMkiqCh9 ! 7h8uZ2u9uRBOv222fZodGvc6bvq/4R4hAa/6qSHtm8mdmvGt ! =aHmC ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes192.sha1.mdc.s2k3.z0 ! ! jA0ECAMCjFn6SRi3SONg0kQBqtSHPaD0m7rXfDAhCWU/ypAsI93GuHGRyM99cvMv ! q6eF6859ZVnli3BFSDSk3a4e/pXhglxmDYCfjAXkozKNYLo6yw== ! =K0LS ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes256.sha1.mdc.s2k0.z0 ! ! jAQECQAC0kQB4L1eMbani07XF2ZYiXNK9LW3v8w41oUPl7dStmrJPQFwsdxmrDHu ! rQr3WbdKdY9ufjOE5+mXI+EFkSPrF9rL9NCq6w== ! =RGts ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes256.sha1.mdc.s2k1.z0 ! ! jAwECQECKHhrou7ZOIXSRAHWIVP+xjVQcjAVBTt+qh9SNzYe248xFTwozkwev3mO ! +KVJW0qhk0An+Y2KF99/bYFl9cL5D3Tl43fC8fXGl3x3m7pR ! =SUrU ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes256.sha1.mdc.s2k3.z0 ! ! jA0ECQMCjc8lwZu8Fz1g0kQBkEzjImi21liep5jj+3dAJ2aZFfUkohi8b3n9z+7+ ! 4+NRzL7cMW2RLAFnJbiqXDlRHMwleeuLN1up2WIxsxtYYuaBjA== ! =XZrG ! -----END PGP MESSAGE----- ! '), 'foobar'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! -- Checking longer passwords ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCx6dBiuqrYNRg0kQBEo63AvA1SCslxP7ayanLf1H0/hlk2nONVhTwVEWi ! tTGup1mMz6Cfh1uDRErUuXpx9A0gdMu7zX0o5XjrL7WGDAZdSw== ! =XKKG ! -----END PGP MESSAGE----- ! '), '0123456789abcdefghij'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCBDvYuS990iFg0kQBW31UK5OiCjWf5x6KJ8qNNT2HZWQCjCBZMU0XsOC6 ! CMxFKadf144H/vpoV9GA0f22keQgCl0EsTE4V4lweVOPTKCMJg== ! =gWDh ! -----END PGP MESSAGE----- ! '), '0123456789abcdefghij2jk4h5g2j54khg23h54g2kh54g2khj54g23hj54'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCqXbFafC+ofVg0kQBejyiPqH0QMERVGfmPOjtAxvyG5KDIJPYojTgVSDt ! FwsDabdQUz5O7bgNSnxfmyw1OifGF+W2bIn/8W+0rDf8u3+O+Q== ! =OxOF ! -----END PGP MESSAGE----- ! '), 'x'); ! pgp_sym_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! -- Checking various data ! select encode(digest(pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat1.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCGJ+SpuOysINg0kQBJfSjzsW0x4OVcAyr17O7FBvMTwIGeGcJd99oTQU8 ! Xtx3kDqnhUq9Z1fS3qPbi5iNP2A9NxOBxPWz2JzxhydANlgbxg== ! =W/ik ! -----END PGP MESSAGE----- ! '), '0123456789abcdefghij'), 'sha1'), 'hex'); ! encode ! ------------------------------------------ ! 0225e3ede6f2587b076d021a189ff60aad67e066 ! (1 row) ! ! -- expected: 0225e3ede6f2587b076d021a189ff60aad67e066 ! select encode(digest(pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat2.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCvdpDvidNzMxg0jUBvj8eS2+1t/9/zgemxvhtc0fvdKGGbjH7dleaTJRB ! SaV9L04ky1qECNDx3XjnoKLC+H7IOQ== ! =Fxen ! -----END PGP MESSAGE----- ! '), '0123456789abcdefghij'), 'sha1'), 'hex'); ! encode ! ------------------------------------------ ! da39a3ee5e6b4b0d3255bfef95601890afd80709 ! (1 row) ! ! -- expected: da39a3ee5e6b4b0d3255bfef95601890afd80709 ! select encode(digest(pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: dat3.aes.sha1.mdc.s2k3.z0 ! ! jA0EBwMCxQvxJZ3G/HRg0lgBeYmTa7/uDAjPyFwSX4CYBgpZWVn/JS8JzILrcWF8 ! gFnkUKIE0PSaYFp+Yi1VlRfUtRQ/X/LYNGa7tWZS+4VQajz2Xtz4vUeAEiYFYPXk ! 73Hb8m1yRhQK ! =ivrD ! -----END PGP MESSAGE----- ! '), '0123456789abcdefghij'), 'sha1'), 'hex'); ! encode ! ------------------------------------------ ! 5e5c135efc0dd00633efc6dfd6e731ea408a5b4c ! (1 row) ! ! -- expected: 5e5c135efc0dd00633efc6dfd6e731ea408a5b4c ! -- Checking CRLF ! select encode(digest(pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: crlf mess ! ! ww0ECQMCt7VAtby6l4Bi0lgB5KMIZiiF/b3CfMfUyY0eDncsGXtkbu1X+l9brjpMP8eJnY79Amms ! a3nsOzKTXUfS9VyaXo8IrncM6n7fdaXpwba/3tNsAhJG4lDv1k4g9v8Ix2dfv6Rs ! =mBP9 ! -----END PGP MESSAGE----- ! '), 'key', 'convert-crlf=0'), 'sha1'), 'hex'); ! encode ! ------------------------------------------ ! 9353062be7720f1446d30b9e75573a4833886784 ! (1 row) ! ! -- expected: 9353062be7720f1446d30b9e75573a4833886784 ! select encode(digest(pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! Comment: crlf mess ! ! ww0ECQMCt7VAtby6l4Bi0lgB5KMIZiiF/b3CfMfUyY0eDncsGXtkbu1X+l9brjpMP8eJnY79Amms ! a3nsOzKTXUfS9VyaXo8IrncM6n7fdaXpwba/3tNsAhJG4lDv1k4g9v8Ix2dfv6Rs ! =mBP9 ! -----END PGP MESSAGE----- ! '), 'key', 'convert-crlf=1'), 'sha1'), 'hex'); ! encode ! ------------------------------------------ ! 7efefcab38467f7484d6fa43dc86cf5281bd78e2 ! (1 row) ! ! -- expected: 7efefcab38467f7484d6fa43dc86cf5281bd78e2 ! -- check BUG #11905, problem with messages 6 less than a power of 2. ! select pgp_sym_decrypt(pgp_sym_encrypt(repeat('x',65530),'1'),'1') = repeat('x',65530); ! ?column? ! ---------- ! t ! (1 row) ! ! -- expected: true ! -- Negative tests ! -- Decryption with a certain incorrect key yields an apparent Literal Data ! -- packet reporting its content to be binary data. Ciphertext source: ! -- iterative pgp_sym_encrypt('secret', 'key') until the random prefix gave ! -- rise to that property. ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! ! ww0EBwMCxf8PTrQBmJdl0jcB6y2joE7GSLKRv7trbNsF5Z8ou5NISLUg31llVH/S0B2wl4bvzZjV ! VsxxqLSPzNLAeIspJk5G ! =mSd/ ! -----END PGP MESSAGE----- ! '), 'wrong-key', 'debug=1'); ! NOTICE: dbg: prefix_init: corrupt prefix ! NOTICE: dbg: parse_literal_data: data type=b ! NOTICE: dbg: mdcbuf_finish: bad MDC pkt hdr ! ERROR: Wrong key or corrupt data ! -- Routine text/binary mismatch. ! select pgp_sym_decrypt(pgp_sym_encrypt_bytea('P', 'key'), 'key', 'debug=1'); ! NOTICE: dbg: parse_literal_data: data type=b ! ERROR: Not text data ! -- Decryption with a certain incorrect key yields an apparent BZip2-compressed ! -- plaintext. Ciphertext source: iterative pgp_sym_encrypt('secret', 'key') ! -- until the random prefix gave rise to that property. ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! ! ww0EBwMC9rK/dMkF5Zlt0jcBlzAQ1mQY2qYbKYbw8h3EZ5Jk0K2IiY92R82TRhWzBIF/8cmXDPtP ! GXsd65oYJZp3Khz0qfyn ! =Nmpq ! -----END PGP MESSAGE----- ! '), 'wrong-key', 'debug=1'); ! NOTICE: dbg: prefix_init: corrupt prefix ! NOTICE: dbg: parse_compressed_data: bzip2 unsupported ! NOTICE: dbg: mdcbuf_finish: bad MDC pkt hdr ! ERROR: Wrong key or corrupt data ! -- Routine use of BZip2 compression. Ciphertext source: ! -- echo x | gpg --homedir /nonexistent --personal-compress-preferences bzip2 \ ! -- --personal-cipher-preferences aes --no-emit-version --batch \ ! -- --symmetric --passphrase key --armor ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! ! jA0EBwMCRhFrAKNcLVJg0mMBLJG1cCASNk/x/3dt1zJ+2eo7jHfjgg3N6wpB3XIe ! QCwkWJwlBG5pzbO5gu7xuPQN+TbPJ7aQ2sLx3bAHhtYb0i3vV9RO10Gw++yUyd4R ! UCAAw2JRIISttRHMfDpDuZJpvYo= ! =AZ9M ! -----END PGP MESSAGE----- ! '), 'key', 'debug=1'); ! NOTICE: dbg: parse_compressed_data: bzip2 unsupported ! ERROR: Unsupported compression algorithm --- 1 ---- ! psql: FATAL: the database system is in recovery mode ====================================================================== *** /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/expected/pgp-encrypt.out 2016-03-15 14:32:12.933977992 +0300 --- /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/results/pgp-encrypt.out 2016-03-15 16:28:48.611642073 +0300 *************** *** 1,210 **** ! -- ! -- PGP encrypt ! -- ! -- ensure consistent test output regardless of the default bytea format ! SET bytea_output TO escape; ! select pgp_sym_decrypt(pgp_sym_encrypt('Secret.', 'key'), 'key'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- check whether the defaults are ok ! select pgp_sym_decrypt(pgp_sym_encrypt('Secret.', 'key'), ! 'key', 'expect-cipher-algo=aes128, ! expect-disable-mdc=0, ! expect-sess-key=0, ! expect-s2k-mode=3, ! expect-s2k-digest-algo=sha1, ! expect-compress-algo=0 ! '); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- maybe the expect- stuff simply does not work ! select pgp_sym_decrypt(pgp_sym_encrypt('Secret.', 'key'), ! 'key', 'expect-cipher-algo=bf, ! expect-disable-mdc=1, ! expect-sess-key=1, ! expect-s2k-mode=0, ! expect-s2k-digest-algo=md5, ! expect-compress-algo=1 ! '); ! NOTICE: pgp_decrypt: unexpected cipher_algo: expected 4 got 7 ! NOTICE: pgp_decrypt: unexpected s2k_mode: expected 0 got 3 ! NOTICE: pgp_decrypt: unexpected s2k_digest_algo: expected 1 got 2 ! NOTICE: pgp_decrypt: unexpected use_sess_key: expected 1 got 0 ! NOTICE: pgp_decrypt: unexpected disable_mdc: expected 1 got 0 ! NOTICE: pgp_decrypt: unexpected compress_algo: expected 1 got 0 ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- bytea as text ! select pgp_sym_decrypt(pgp_sym_encrypt_bytea('Binary', 'baz'), 'baz'); ! ERROR: Not text data ! -- text as bytea ! select pgp_sym_decrypt_bytea(pgp_sym_encrypt('Text', 'baz'), 'baz'); ! pgp_sym_decrypt_bytea ! ----------------------- ! Text ! (1 row) ! ! -- algorithm change ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'cipher-algo=bf'), ! 'key', 'expect-cipher-algo=bf'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'cipher-algo=aes'), ! 'key', 'expect-cipher-algo=aes128'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'cipher-algo=aes192'), ! 'key', 'expect-cipher-algo=aes192'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- s2k change ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 's2k-mode=0'), ! 'key', 'expect-s2k-mode=0'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 's2k-mode=1'), ! 'key', 'expect-s2k-mode=1'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 's2k-mode=3'), ! 'key', 'expect-s2k-mode=3'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- s2k count change ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 's2k-count=1024'), ! 'key', 'expect-s2k-count=1024'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- s2k_count rounds up ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 's2k-count=65000000'), ! 'key', 'expect-s2k-count=65000000'); ! NOTICE: pgp_decrypt: unexpected s2k_count: expected 65000000 got 65011712 ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- s2k digest change ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 's2k-digest-algo=md5'), ! 'key', 'expect-s2k-digest-algo=md5'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 's2k-digest-algo=sha1'), ! 'key', 'expect-s2k-digest-algo=sha1'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- sess key ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'sess-key=0'), ! 'key', 'expect-sess-key=0'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'sess-key=1'), ! 'key', 'expect-sess-key=1'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'sess-key=1, cipher-algo=bf'), ! 'key', 'expect-sess-key=1, expect-cipher-algo=bf'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'sess-key=1, cipher-algo=aes192'), ! 'key', 'expect-sess-key=1, expect-cipher-algo=aes192'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'sess-key=1, cipher-algo=aes256'), ! 'key', 'expect-sess-key=1, expect-cipher-algo=aes256'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- no mdc ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret.', 'key', 'disable-mdc=1'), ! 'key', 'expect-disable-mdc=1'); ! pgp_sym_decrypt ! ----------------- ! Secret. ! (1 row) ! ! -- crlf ! select encode(pgp_sym_decrypt_bytea( ! pgp_sym_encrypt(E'1\n2\n3\r\n', 'key', 'convert-crlf=1'), ! 'key'), 'hex'); ! encode ! ---------------------- ! 310d0a320d0a330d0d0a ! (1 row) ! ! -- conversion should be lossless ! select encode(digest(pgp_sym_decrypt( ! pgp_sym_encrypt(E'\r\n0\n1\r\r\n\n2\r', 'key', 'convert-crlf=1'), ! 'key', 'convert-crlf=1'), 'sha1'), 'hex') as result, ! encode(digest(E'\r\n0\n1\r\r\n\n2\r', 'sha1'), 'hex') as expect; ! result | expect ! ------------------------------------------+------------------------------------------ ! 47bde5d88d6ef8770572b9cbb4278b402aa69966 | 47bde5d88d6ef8770572b9cbb4278b402aa69966 ! (1 row) ! --- 1 ---- ! psql: FATAL: the database system is in recovery mode ====================================================================== *** /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/expected/pgp-compression.out 2016-03-15 14:32:12.933977992 +0300 --- /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/results/pgp-compression.out 2016-03-15 16:28:48.615642110 +0300 *************** *** 1,50 **** ! -- ! -- PGP compression support ! -- ! select pgp_sym_decrypt(dearmor(' ! -----BEGIN PGP MESSAGE----- ! ! ww0ECQMCsci6AdHnELlh0kQB4jFcVwHMJg0Bulop7m3Mi36s15TAhBo0AnzIrRFrdLVCkKohsS6+ ! DMcmR53SXfLoDJOv/M8uKj3QSq7oWNIp95pxfA== ! =tbSn ! -----END PGP MESSAGE----- ! '), 'key', 'expect-compress-algo=1'); ! pgp_sym_decrypt ! ----------------- ! Secret message ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret message', 'key', 'compress-algo=0'), ! 'key', 'expect-compress-algo=0'); ! pgp_sym_decrypt ! ----------------- ! Secret message ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret message', 'key', 'compress-algo=1'), ! 'key', 'expect-compress-algo=1'); ! pgp_sym_decrypt ! ----------------- ! Secret message ! (1 row) ! ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret message', 'key', 'compress-algo=2'), ! 'key', 'expect-compress-algo=2'); ! pgp_sym_decrypt ! ----------------- ! Secret message ! (1 row) ! ! -- level=0 should turn compression off ! select pgp_sym_decrypt( ! pgp_sym_encrypt('Secret message', 'key', ! 'compress-algo=2, compress-level=0'), ! 'key', 'expect-compress-algo=0'); ! pgp_sym_decrypt ! ----------------- ! Secret message ! (1 row) ! --- 1 ---- ! psql: FATAL: the database system is in recovery mode ====================================================================== *** /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/expected/pgp-pubkey-decrypt.out 2016-03-15 14:32:12.933977992 +0300 --- /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/results/pgp-pubkey-decrypt.out 2016-03-15 16:28:48.619642147 +0300 *************** *** 1,656 **** ! -- ! -- PGP Public Key Encryption ! -- ! -- As most of the low-level stuff is tested in symmetric key ! -- tests, here's only public-key specific tests ! create table keytbl ( ! id int4, ! name text, ! pubkey text, ! seckey text ! ); ! create table encdata ( ! id int4, ! data text ! ); ! insert into keytbl (id, name, pubkey, seckey) ! values (1, 'elg1024', ' ! -----BEGIN PGP PUBLIC KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! mQGiBELIIUgRBACp401L6jXrLB28c3YA4sM3OJKnxM1GT9YTkWyE3Vyte65H8WU9 ! tGPBX7OMuaX5eGZ84LFUGvaP0k7anfmXcDkCO3P9GgL+ro/dS2Ps/vChQPZqHaxE ! xpKDUt47B7DGdRJrC8DRnIR4wbSyQA6ma3S1yFqC5pJhSs+mqf9eExOjiwCgntth ! klRxIYw352ZX9Ov9oht/p/ED/1Xi4PS+tkXVvyIw5aZfa61bT6XvDkoPI0Aj3GE5 ! YmCHJlKA/IhEr8QJOLV++5VEv4l6KQ1/DFoJzoNdr1AGJukgTc6X/WcQRzfQtUic ! PHQme5oAWoHa6bVQZOwvbJh3mOXDq/Tk/KF22go8maM44vMn4bvv+SBbslviYLiL ! jZJ1A/9JXF1esNq+X9HehJyqHHU7LEEf/ck6zC7o2erM3/LZlZuLNPD2cv3oL3Nv ! saEgcTSZl+8XmO8pLmzjKIb+hi70qVx3t2IhMqbb4B/dMY1Ck62gPBKa81/Wwi7v ! IsEBQLEtyBmGmI64YpzoRNFeaaF9JY+sAKqROqe6dLjJ7vebQLQfRWxnYW1hbCAx ! MDI0IDx0ZXN0QGV4YW1wbGUub3JnPoheBBMRAgAeBQJCyCFIAhsDBgsJCAcDAgMV ! AgMDFgIBAh4BAheAAAoJEBwpvA0YF3NkOtsAniI9W2bC3CxARTpYrev7ihreDzFc ! AJ9WYLQxDQAi5Ec9AQoodPkIagzZ4LkBDQRCyCFKEAQAh5SNbbJMAsJ+sQbcWEzd ! ku8AdYB5zY7Qyf9EOvn0g39bzANhxmmb6gbRlQN0ioymlDwraTKUAfuCZgNcg/0P ! sxFGb9nDcvjIV8qdVpnq1PuzMFuBbmGI6weg7Pj01dlPiO0wt1lLX+SubktqbYxI ! +h31c3RDZqxj+KAgxR8YNGMAAwYD+wQs2He1Z5+p4OSgMERiNzF0acZUYmc0e+/9 ! 6gfL0ft3IP+SSFo6hEBrkKVhZKoPSSRr5KpNaEobhdxsnKjUaw/qyoaFcNMzb4sF ! k8wq5UlCkR+h72u6hv8FuleCV8SJUT1U2JjtlXJR2Pey9ifh8rZfu57UbdwdHa0v ! iWc4DilhiEkEGBECAAkFAkLIIUoCGwwACgkQHCm8DRgXc2TtrwCfdPom+HlNVE9F ! ig3hGY1Rb4NEk1gAn1u9IuQB+BgDP40YHHz6bKWS/x80 ! =RWci ! -----END PGP PUBLIC KEY BLOCK----- ! ', ' ! -----BEGIN PGP PRIVATE KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! lQG7BELIIUgRBACp401L6jXrLB28c3YA4sM3OJKnxM1GT9YTkWyE3Vyte65H8WU9 ! tGPBX7OMuaX5eGZ84LFUGvaP0k7anfmXcDkCO3P9GgL+ro/dS2Ps/vChQPZqHaxE ! xpKDUt47B7DGdRJrC8DRnIR4wbSyQA6ma3S1yFqC5pJhSs+mqf9eExOjiwCgntth ! klRxIYw352ZX9Ov9oht/p/ED/1Xi4PS+tkXVvyIw5aZfa61bT6XvDkoPI0Aj3GE5 ! YmCHJlKA/IhEr8QJOLV++5VEv4l6KQ1/DFoJzoNdr1AGJukgTc6X/WcQRzfQtUic ! PHQme5oAWoHa6bVQZOwvbJh3mOXDq/Tk/KF22go8maM44vMn4bvv+SBbslviYLiL ! jZJ1A/9JXF1esNq+X9HehJyqHHU7LEEf/ck6zC7o2erM3/LZlZuLNPD2cv3oL3Nv ! saEgcTSZl+8XmO8pLmzjKIb+hi70qVx3t2IhMqbb4B/dMY1Ck62gPBKa81/Wwi7v ! IsEBQLEtyBmGmI64YpzoRNFeaaF9JY+sAKqROqe6dLjJ7vebQAAAnj4i4st+s+C6 ! WKTIDcL1Iy0Saq8lCp60H0VsZ2FtYWwgMTAyNCA8dGVzdEBleGFtcGxlLm9yZz6I ! XgQTEQIAHgUCQsghSAIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAcKbwNGBdz ! ZDrbAJ9cp6AsjOhiLxwznsMJheGf4xkH8wCfUPjMCLm4tAEnyYn2hDNt7CB8B6Kd ! ATEEQsghShAEAIeUjW2yTALCfrEG3FhM3ZLvAHWAec2O0Mn/RDr59IN/W8wDYcZp ! m+oG0ZUDdIqMppQ8K2kylAH7gmYDXIP9D7MRRm/Zw3L4yFfKnVaZ6tT7szBbgW5h ! iOsHoOz49NXZT4jtMLdZS1/krm5Lam2MSPod9XN0Q2asY/igIMUfGDRjAAMGA/sE ! LNh3tWefqeDkoDBEYjcxdGnGVGJnNHvv/eoHy9H7dyD/kkhaOoRAa5ClYWSqD0kk ! a+SqTWhKG4XcbJyo1GsP6sqGhXDTM2+LBZPMKuVJQpEfoe9ruob/BbpXglfEiVE9 ! VNiY7ZVyUdj3svYn4fK2X7ue1G3cHR2tL4lnOA4pYQAA9030E4u2ZKOfJBpUM+EM ! m9VmsGjaQZV4teB0R/q3W8sRIYhJBBgRAgAJBQJCyCFKAhsMAAoJEBwpvA0YF3Nk ! 7a8AniFFotw1x2X+oryu3Q3nNtmxoKHpAJ9HU7jw7ydg33dI9J8gVkrmsSZ2/w== ! =nvqq ! -----END PGP PRIVATE KEY BLOCK----- ! '); ! insert into keytbl (id, name, pubkey, seckey) ! values (2, 'elg2048', ' ! -----BEGIN PGP PUBLIC KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! mQGiBELIIgoRBAC1onBpxKYgDvrgCaUWPY34947X3ogxGOfCN0p6Eqrx+2PUhm4n ! vFvmczpMT4iDc0mUO+iwnwsEkXQI1eC99g8c0jnZAvzJZ5miAHL8hukMAMfDkYke ! 5aVvcPPc8uPDlItpszGmH0rM0V9TIt/i9QEXetpyNWhk4jj5qnohYhLeZwCgkOdO ! RFAdNi4vfFPivvtAp2ffjU8D/R3x/UJCvkzi7i9rQHGo313xxmQu5BuqIjANBUij ! 8IE7LRPI/Qhg2hYy3sTJwImDi7VkS+fuvNVk0d6MTWplAXYU96bn12JaD21R9sKl ! Fzcc+0iZI1wYA1PczisUkoTISE+dQFUsoGHfpDLhoBuesXQrhBavI8t8VPd+nkdt ! J+oKA/9iRQ87FzxdYTkh2drrv69FZHc3Frsjw9nPcBq/voAvXH0MRilqyCg7HpW/ ! T9naeOERksa+Rj4R57IF1l4e5oiiGJo9QmaKZcsCsXrREJCycrlEtMqXfSPy+bi5 ! 0yDZE/Qm1dwu13+OXOsRvkoNYjO8Mzo9K8wU12hMqN0a2bu6a7QjRWxnYW1hbCAy ! MDQ4IDx0ZXN0MjA0OEBleGFtcGxlLm9yZz6IXgQTEQIAHgUCQsgiCgIbAwYLCQgH ! AwIDFQIDAxYCAQIeAQIXgAAKCRBI6c1W/qZo29PDAKCG724enIxRog1j+aeCp/uq ! or6mbwCePuKy2/1kD1FvnhkZ/R5fpm+pdm25Ag0EQsgiIhAIAJI3Gb2Ehtz1taQ9 ! AhPY4Avad2BsqD3S5X/R11Cm0KBE/04D29dxn3f8QfxDsexYvNIZjoJPBqqZ7iMX ! MhoWyw8ZF5Zs1mLIjFGVorePrm94N3MNPWM7x9M36bHUjx0vCZKFIhcGY1g+htE/ ! QweaJzNVeA5z4qZmik41FbQyQSyHa3bOkTZu++/U6ghP+iDp5UDBjMTkVyqITUVN ! gC+MR+da/I60irBVhue7younh4ovF+CrVDQJC06HZl6CAJJyA81SmRfi+dmKbbjZ ! LF6rhz0norPjISJvkIqvdtM4VPBKI5wpgwCzpEqjuiKrAVujRT68zvBvJ4aVqb11 ! k5QdJscAAwUH/jVJh0HbWAoiFTe+NvohfrA8vPcD0rtU3Y+siiqrabotnxJd2NuC ! bxghJYGfNtnx0KDjFbCRKJVeTFok4UnuVYhXdH/c6i0/rCTNdeW2D6pmR4GfBozR ! Pw/ARf+jONawGLyUj7uq13iquwMSE7VyNuF3ycL2OxXjgOWMjkH8c+zfHHpjaZ0R ! QsetMq/iNBWraayKZnWUd+eQqNzE+NUo7w1jAu7oDpy+8a1eipxzK+O0HfU5LTiF ! Z1Oe4Um0P2l3Xtx8nEgj4vSeoEkl2qunfGW00ZMMTCWabg0ZgxPzMfMeIcm6525A ! Yn2qL+X/qBJTInAl7/hgPz2D1Yd7d5/RdWaISQQYEQIACQUCQsgiIgIbDAAKCRBI ! 6c1W/qZo25ZSAJ98WTrtl2HiX8ZqZq95v1+9cHtZPQCfZDoWQPybkNescLmXC7q5 ! 1kNTmEU= ! =8QM5 ! -----END PGP PUBLIC KEY BLOCK----- ! ', ' ! -----BEGIN PGP PRIVATE KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! lQG7BELIIgoRBAC1onBpxKYgDvrgCaUWPY34947X3ogxGOfCN0p6Eqrx+2PUhm4n ! vFvmczpMT4iDc0mUO+iwnwsEkXQI1eC99g8c0jnZAvzJZ5miAHL8hukMAMfDkYke ! 5aVvcPPc8uPDlItpszGmH0rM0V9TIt/i9QEXetpyNWhk4jj5qnohYhLeZwCgkOdO ! RFAdNi4vfFPivvtAp2ffjU8D/R3x/UJCvkzi7i9rQHGo313xxmQu5BuqIjANBUij ! 8IE7LRPI/Qhg2hYy3sTJwImDi7VkS+fuvNVk0d6MTWplAXYU96bn12JaD21R9sKl ! Fzcc+0iZI1wYA1PczisUkoTISE+dQFUsoGHfpDLhoBuesXQrhBavI8t8VPd+nkdt ! J+oKA/9iRQ87FzxdYTkh2drrv69FZHc3Frsjw9nPcBq/voAvXH0MRilqyCg7HpW/ ! T9naeOERksa+Rj4R57IF1l4e5oiiGJo9QmaKZcsCsXrREJCycrlEtMqXfSPy+bi5 ! 0yDZE/Qm1dwu13+OXOsRvkoNYjO8Mzo9K8wU12hMqN0a2bu6awAAn2F+iNBElfJS ! 8azqO/kEiIfpqu6/DQG0I0VsZ2FtYWwgMjA0OCA8dGVzdDIwNDhAZXhhbXBsZS5v ! cmc+iF0EExECAB4FAkLIIgoCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQSOnN ! Vv6maNvTwwCYkpcJmpl3aHCQdGomz7dFohDgjgCgiThZt2xTEi6GhBB1vuhk+f55 ! n3+dAj0EQsgiIhAIAJI3Gb2Ehtz1taQ9AhPY4Avad2BsqD3S5X/R11Cm0KBE/04D ! 29dxn3f8QfxDsexYvNIZjoJPBqqZ7iMXMhoWyw8ZF5Zs1mLIjFGVorePrm94N3MN ! PWM7x9M36bHUjx0vCZKFIhcGY1g+htE/QweaJzNVeA5z4qZmik41FbQyQSyHa3bO ! kTZu++/U6ghP+iDp5UDBjMTkVyqITUVNgC+MR+da/I60irBVhue7younh4ovF+Cr ! VDQJC06HZl6CAJJyA81SmRfi+dmKbbjZLF6rhz0norPjISJvkIqvdtM4VPBKI5wp ! gwCzpEqjuiKrAVujRT68zvBvJ4aVqb11k5QdJscAAwUH/jVJh0HbWAoiFTe+Nvoh ! frA8vPcD0rtU3Y+siiqrabotnxJd2NuCbxghJYGfNtnx0KDjFbCRKJVeTFok4Unu ! VYhXdH/c6i0/rCTNdeW2D6pmR4GfBozRPw/ARf+jONawGLyUj7uq13iquwMSE7Vy ! NuF3ycL2OxXjgOWMjkH8c+zfHHpjaZ0RQsetMq/iNBWraayKZnWUd+eQqNzE+NUo ! 7w1jAu7oDpy+8a1eipxzK+O0HfU5LTiFZ1Oe4Um0P2l3Xtx8nEgj4vSeoEkl2qun ! fGW00ZMMTCWabg0ZgxPzMfMeIcm6525AYn2qL+X/qBJTInAl7/hgPz2D1Yd7d5/R ! dWYAAVQKFPXbRaxbdArwRVXMzSD3qj/+VwwhwEDt8zmBGnlBfwVdkjQQrDUMmV1S ! EwyISQQYEQIACQUCQsgiIgIbDAAKCRBI6c1W/qZo25ZSAJ4sgUfHTVsG/x3p3fcM ! 3b5R86qKEACggYKSwPWCs0YVRHOWqZY0pnHtLH8= ! =3Dgk ! -----END PGP PRIVATE KEY BLOCK----- ! '); ! insert into keytbl (id, name, pubkey, seckey) ! values (3, 'elg4096', ' ! -----BEGIN PGP PUBLIC KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! mQGiBELII7wRBACFuaAvb11cIvjJK9LkZr4cYuYhLWh3DJdojNNnLNiym5OEksvY ! 05cw8OgqKtPzICU7o/mHXTWhzJYUt3i50/AeYygI8Q0uATS6RnDAKNlES1EMoHKz ! 2a5iFbYs4bm4IwlkvYd8uWjcu+U0YLbxir39u+anIc6eT+q3WiH/q3zDRwCgkT98 ! cnIG8iO8PdwDSP8G4Lt6TYED/R45GvCzJ4onQALLE92KkLUz8aFWSl05r84kczEN ! SxiP9Ss6m465RmwWHfwYAu4b+c4GeNyU8fIU2EM8cezchC+edEi3xu1s+pCV0Dk4 ! 18DGC8WKCICO30vBynuNmYg7W/7Zd4wtjss454fMW7+idVDNM701mmXBtI1nsBtG ! 7Z4tA/9FxjFbJK9jh24RewfjHpLYqcfCo2SsUjOwsnMZ5yg2yv9KyVVQhRqwmrqt ! q8MRyjGmfoD9PPdCgvqgzy0hHvAHUtTm2zUczGTG+0g4hNIklxC/Mv6J4KE+NWTh ! uB4acqofHyaw2WnKOuRUsoDi6rG5AyjNMyAK/vVcEGj7J1tk27QjRWxnYW1hbCA0 ! MDk2IDx0ZXN0NDA5NkBleGFtcGxlLm9yZz6IXgQTEQIAHgUCQsgjvAIbAwYLCQgH ! AwIDFQIDAxYCAQIeAQIXgAAKCRBj+HX2P2d0oAEDAJ9lI+CNmb42z3+a6TnVusM6 ! FI7oLwCfUwA1zEcRdsT3nIkoYh0iKxFSDFW5BA0EQsgkdhAQAJQbLXlgcJ/jq+Xh ! Eujb77/eeftFJObNIRYD9fmJ7HFIXbUcknEpbs+cRH/nrj5dGSY3OT3jCXOUtvec ! sCoX/CpZWL0oqDjAiZtNSFiulw5Gav4gHYkWKgKdSo+2rkavEPqKIVHvMeXaJtGT ! d7v/AmL/P8T7gls93o5WFBOLtPbDvWqaKRy2U5TAhl1laiM0vGALRVjvSCgnGw9g ! FpSnXbO3AfenUSjDzZujfGLHtU44ixHSS/D4DepiF3YaYLsN4CBqZRv6FbMZD5W3 ! DnJY4kS1kH0MzdcF19TlcZ3itTCcGIt1tMKf84mccPoqdMzH7vumBGTeFEly5Afp ! 9berJcirqh2fzlunN0GS02z6SGWnjTbDlkNDxuxPSBbpcpNyD3jpYAUqSwRsZ/+5 ! zkzcbGtDmvy9sJ5lAXkxGoIoQ1tEVX/LOHnh2NQHK8ourVOnr7MS0nozssITZJ5E ! XqtHiREjiYEuPyZiVZKJHLWuYYaF+n40znnz3sJuXFRreHhHbbvRdlYUU5mJV+XZ ! BLgKuS33NdpGeMIngnCc/9IQ6OZb6ixc94kbkd3w2PVr8CbKlu/IHTjWOO2mAo+D ! +OydlYl23FiM3KOyMP1HcEOJMB/nwkMtrvd+522Lu9n77ktKfot9IPrQDIQTyXjR ! 3pCOFtCOBnk2tJHMPoG9jn9ah/LHAAMHEACDZ5I/MHGfmiKg2hrmqBu2J2j/deC8 ! CpwcyDH1ovQ0gHvb9ESa+CVRU2Wdy2CD7Q9SmtMverB5eneL418iPVRcQdwRmQ2y ! IH4udlBa6ce9HTUCaecAZ4/tYBnaC0Av/9l9tz14eYcwRMDpB+bnkhgF+PZ1KAfD ! 9wcY2aHbtsf3lZBc5h4owPJkxpe/BNzuJxW3q4VpSbLsZhwnCZ2wg7DRwP44wFIk ! 00ptmoBY59gsU6I40XtzrF8JDr0cA57xND5RY21Z8lnnYRE1Tc8h5REps9ZIxW3/ ! yl91404bPLqxczpUHQAMSTAmBaStPYX1nS51uofOhLs5SKPCUmxfGKIOhsD0oLUn ! 78DnkONVGeXzBibSwwtbgfMzee4G8wSUfJ7w8WXz1TyanaGLnJ+DuKASSOrFoBCD ! HEDuWZWgSL74NOQupFRk0gxOPmqU94Y8HziQWma/cETbmD83q8rxN+GM2oBxQkQG ! xcbqMTHE7aVhV3tymbSWVaYhww3oIwsZS9oUIi1DnPEowS6CpVRrwdvLjLJnJzzV ! O3AFPn9eZ1Q7R1tNx+zZ4OOfhvI/OlRJ3HBx2L53embkbdY9gFYCCdTjPyjKoDIx ! kALgCajjCYMNUsAKNSd6mMCQ8TtvukSzkZS1RGKP27ohsdnzIVsiEAbxDMMcI4k1 ! ul0LExUTCXSjeIhJBBgRAgAJBQJCyCR2AhsMAAoJEGP4dfY/Z3Sg19sAn0NDS8pb ! qrMpQAxSb7zRTmcXEFd9AJ435H0ttP/NhLHXC9ezgbCMmpXMOQ== ! =kRxT ! -----END PGP PUBLIC KEY BLOCK----- ! ', ' ! -----BEGIN PGP PRIVATE KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! lQG7BELII7wRBACFuaAvb11cIvjJK9LkZr4cYuYhLWh3DJdojNNnLNiym5OEksvY ! 05cw8OgqKtPzICU7o/mHXTWhzJYUt3i50/AeYygI8Q0uATS6RnDAKNlES1EMoHKz ! 2a5iFbYs4bm4IwlkvYd8uWjcu+U0YLbxir39u+anIc6eT+q3WiH/q3zDRwCgkT98 ! cnIG8iO8PdwDSP8G4Lt6TYED/R45GvCzJ4onQALLE92KkLUz8aFWSl05r84kczEN ! SxiP9Ss6m465RmwWHfwYAu4b+c4GeNyU8fIU2EM8cezchC+edEi3xu1s+pCV0Dk4 ! 18DGC8WKCICO30vBynuNmYg7W/7Zd4wtjss454fMW7+idVDNM701mmXBtI1nsBtG ! 7Z4tA/9FxjFbJK9jh24RewfjHpLYqcfCo2SsUjOwsnMZ5yg2yv9KyVVQhRqwmrqt ! q8MRyjGmfoD9PPdCgvqgzy0hHvAHUtTm2zUczGTG+0g4hNIklxC/Mv6J4KE+NWTh ! uB4acqofHyaw2WnKOuRUsoDi6rG5AyjNMyAK/vVcEGj7J1tk2wAAoJCUNy6awTkw ! XfbLbpqh0fvDst7jDLa0I0VsZ2FtYWwgNDA5NiA8dGVzdDQwOTZAZXhhbXBsZS5v ! cmc+iF4EExECAB4FAkLII7wCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQY/h1 ! 9j9ndKABAwCeNEOVK87EzXYbtxYBsnjrUI948NIAn2+f3BXiBFDV5NvqPwIZ0m77 ! Fwy4nQRMBELIJHYQEACUGy15YHCf46vl4RLo2++/3nn7RSTmzSEWA/X5iexxSF21 ! HJJxKW7PnER/564+XRkmNzk94wlzlLb3nLAqF/wqWVi9KKg4wImbTUhYrpcORmr+ ! IB2JFioCnUqPtq5GrxD6iiFR7zHl2ibRk3e7/wJi/z/E+4JbPd6OVhQTi7T2w71q ! mikctlOUwIZdZWojNLxgC0VY70goJxsPYBaUp12ztwH3p1Eow82bo3xix7VOOIsR ! 0kvw+A3qYhd2GmC7DeAgamUb+hWzGQ+Vtw5yWOJEtZB9DM3XBdfU5XGd4rUwnBiL ! dbTCn/OJnHD6KnTMx+77pgRk3hRJcuQH6fW3qyXIq6odn85bpzdBktNs+khlp402 ! w5ZDQ8bsT0gW6XKTcg946WAFKksEbGf/uc5M3GxrQ5r8vbCeZQF5MRqCKENbRFV/ ! yzh54djUByvKLq1Tp6+zEtJ6M7LCE2SeRF6rR4kRI4mBLj8mYlWSiRy1rmGGhfp+ ! NM55897CblxUa3h4R2270XZWFFOZiVfl2QS4Crkt9zXaRnjCJ4JwnP/SEOjmW+os ! XPeJG5Hd8Nj1a/AmypbvyB041jjtpgKPg/jsnZWJdtxYjNyjsjD9R3BDiTAf58JD ! La73fudti7vZ++5LSn6LfSD60AyEE8l40d6QjhbQjgZ5NrSRzD6BvY5/WofyxwAD ! BxAAg2eSPzBxn5oioNoa5qgbtido/3XgvAqcHMgx9aL0NIB72/REmvglUVNlnctg ! g+0PUprTL3qweXp3i+NfIj1UXEHcEZkNsiB+LnZQWunHvR01AmnnAGeP7WAZ2gtA ! L//Zfbc9eHmHMETA6Qfm55IYBfj2dSgHw/cHGNmh27bH95WQXOYeKMDyZMaXvwTc ! 7icVt6uFaUmy7GYcJwmdsIOw0cD+OMBSJNNKbZqAWOfYLFOiONF7c6xfCQ69HAOe ! 8TQ+UWNtWfJZ52ERNU3PIeURKbPWSMVt/8pfdeNOGzy6sXM6VB0ADEkwJgWkrT2F ! 9Z0udbqHzoS7OUijwlJsXxiiDobA9KC1J+/A55DjVRnl8wYm0sMLW4HzM3nuBvME ! lHye8PFl89U8mp2hi5yfg7igEkjqxaAQgxxA7lmVoEi++DTkLqRUZNIMTj5qlPeG ! PB84kFpmv3BE25g/N6vK8TfhjNqAcUJEBsXG6jExxO2lYVd7cpm0llWmIcMN6CML ! GUvaFCItQ5zxKMEugqVUa8Hby4yyZyc81TtwBT5/XmdUO0dbTcfs2eDjn4byPzpU ! Sdxwcdi+d3pm5G3WPYBWAgnU4z8oyqAyMZAC4Amo4wmDDVLACjUnepjAkPE7b7pE ! s5GUtURij9u6IbHZ8yFbIhAG8QzDHCOJNbpdCxMVEwl0o3gAAckBdfKuasiNUn5G ! L5XRnSvaOFzftr8zteOlZChCSNvzH5k+i1j7RJbWq06OeKRywPzjfjgM2MvRzI43 ! ICeISQQYEQIACQUCQsgkdgIbDAAKCRBj+HX2P2d0oNfbAJ9+G3SeXrk+dWwo9EGi ! hqMi2GVTsgCfeoQJPsc8FLYUgfymc/3xqAVLUtg= ! =Gjq6 ! -----END PGP PRIVATE KEY BLOCK----- ! '); ! insert into keytbl (id, name, pubkey, seckey) ! values (4, 'rsa2048', ' ! -----BEGIN PGP PUBLIC KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! mQELBELIJbEBCADAIdtcoLAmQfl8pb73pPRuEYx8qW9klLfCGG5A4OUOi00JHNwP ! ZaABe1PGzjoeXrgM1MTQZhoZu1Vdg+KDI6XAtiy9P6bLg7ntsXksD4wBoIKtQKc2 ! 55pdukxTiu+xeJJG2q8ZZPOp97CV9fbQ9vPCwgnuSsDCoQlibZikDVPAyVTvp7Jx ! 5rz8yXsl4sxvaeMZPqqFPtA/ENeQ3cpsyR1BQXSvoZpH1Fq0b8GcZTEdWWD/w6/K ! MCRC8TmgEd+z3e8kIsCwFQ+TSHbCcxRWdgZE7gE31sJHHVkrZlXtLU8MPXWqslVz ! R0cX+yC8j6bXI6/BqZ2SvRndJwuunRAr4um7AAYptB5SU0EgMjA0OCA8cnNhMjA0 ! OEBleGFtcGxlLm9yZz6JATQEEwECAB4FAkLIJbECGwMGCwkIBwMCAxUCAwMWAgEC ! HgECF4AACgkQnc+OnJvTHyQqHwf8DtzuAGmObfe3ggtn14x2wnU1Nigebe1K5liR ! nrLuVlLBpdO6CWmMUzfKRvyZlx54GlA9uUQSjW+RlgejdOTQqesDrcTEukYd4yzw ! bLZyM5Gb3lsE/FEmE7Dxw/0Utf59uACqzG8LACQn9J6sEgZWKxAupuYTHXd12lDP ! D3dnU4uzKPhMcjnSN00pzjusP7C9NZd3OLkAx2vw/dmb4Q+/QxeZhVYYsAUuR2hv ! 9bgGWopumlOkt8Zu5YG6+CtTbJXprPI7pJ1jHbeE+q/29hWJQtS8Abx82AcOkzhv ! S3NZKoJ/1DrGgoDAu1mGkM4KvLAxfDs/qQ9dZhtEmDbKPLTVEA== ! =lR4n ! -----END PGP PUBLIC KEY BLOCK----- ! ', ' ! -----BEGIN PGP PRIVATE KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! lQOWBELIJbEBCADAIdtcoLAmQfl8pb73pPRuEYx8qW9klLfCGG5A4OUOi00JHNwP ! ZaABe1PGzjoeXrgM1MTQZhoZu1Vdg+KDI6XAtiy9P6bLg7ntsXksD4wBoIKtQKc2 ! 55pdukxTiu+xeJJG2q8ZZPOp97CV9fbQ9vPCwgnuSsDCoQlibZikDVPAyVTvp7Jx ! 5rz8yXsl4sxvaeMZPqqFPtA/ENeQ3cpsyR1BQXSvoZpH1Fq0b8GcZTEdWWD/w6/K ! MCRC8TmgEd+z3e8kIsCwFQ+TSHbCcxRWdgZE7gE31sJHHVkrZlXtLU8MPXWqslVz ! R0cX+yC8j6bXI6/BqZ2SvRndJwuunRAr4um7AAYpAAf/QZsrrz0c7dgWwGqMIpw6 ! fP+/lLa74+fa2CFRWtYowEiKsfDg/wN7Ua07036dNhPa8aZPsU6SRzm5PybKOURe ! D9pNt0FxJkX0j5pCWfjSJgTbc1rCdqZ/oyBk/U6pQtf//zfw3PbDl7I8TC6GOt2w ! 5NgcXdsWHP7LAmPctOVUyzFsenevR0MFTHkMbmKI1HpFm8XN/e1Fl+qIAD+OagTF ! 5B32VvpoJtkh5nxnIuToNJsa9Iy7F9MM2CeFOyTMihMcjXKBBUaAYoF115irBvqu ! 7N/qWmzqLg8yxBZ56mh6meCF3+67VA2y7fL8rhw2QuqgLg1JFlKAVL+9crCSrn// ! GQQA1kT7FytW6BNOffblFYZkrJer3icoRDqa/ljgH/yVaWoVT1igy0E9XzYO7MwP ! 2usj/resLy0NC1qCthk51cZ/wthooMl88e5Wb4l5FYwBEac7muSBTo4W8cAH1hFj ! TWL6XAGvEzGX3Mt9pn8uYGlQLZAhJoNCAU2EOCbN1PchDvsEAOWNKYesuUVk8+sQ ! St0NDNhd9BWtTWTHkCZb1dKC3JTfr9PqkTBLrWFbYjkOtvdPAW7FDaXXXZfdH1jH ! WfwP3Q+I6sqgSaWpCS4dBAns3/RVtO7czVgyIwma04iIvJqderYrfvkUq95KfwP2 ! V8wXkhrPPPxyrg5y3wQlpY2jb5RBBAC17SK1ms+DBtck4vpdjp3SJ32SbyC/DU30 ! 89Q12j74S7Zdu1qZlKnvy3kWPYX/hMuSzGZ+mLVJNFEqH2X01aFzppYz0hdI9PGB ! 9tTFEqZWQL9ZkXfjc79Cgnt12pNukRbtw0N/kyutOdIFHVT79wVAd+powqziXJsC ! Kc+4xjwSCkZitB5SU0EgMjA0OCA8cnNhMjA0OEBleGFtcGxlLm9yZz6JATQEEwEC ! AB4FAkLIJbECGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQnc+OnJvTHyQqHwf8 ! DtzuAGmObfe3ggtn14x2wnU1Nigebe1K5liRnrLuVlLBpdO6CWmMUzfKRvyZlx54 ! GlA9uUQSjW+RlgejdOTQqesDrcTEukYd4yzwbLZyM5Gb3lsE/FEmE7Dxw/0Utf59 ! uACqzG8LACQn9J6sEgZWKxAupuYTHXd12lDPD3dnU4uzKPhMcjnSN00pzjusP7C9 ! NZd3OLkAx2vw/dmb4Q+/QxeZhVYYsAUuR2hv9bgGWopumlOkt8Zu5YG6+CtTbJXp ! rPI7pJ1jHbeE+q/29hWJQtS8Abx82AcOkzhvS3NZKoJ/1DrGgoDAu1mGkM4KvLAx ! fDs/qQ9dZhtEmDbKPLTVEA== ! =WKAv ! -----END PGP PRIVATE KEY BLOCK----- ! '); ! insert into keytbl (id, name, pubkey, seckey) ! values (5, 'psw-elg1024', ' ! -----BEGIN PGP PUBLIC KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! mQGiBELIIUgRBACp401L6jXrLB28c3YA4sM3OJKnxM1GT9YTkWyE3Vyte65H8WU9 ! tGPBX7OMuaX5eGZ84LFUGvaP0k7anfmXcDkCO3P9GgL+ro/dS2Ps/vChQPZqHaxE ! xpKDUt47B7DGdRJrC8DRnIR4wbSyQA6ma3S1yFqC5pJhSs+mqf9eExOjiwCgntth ! klRxIYw352ZX9Ov9oht/p/ED/1Xi4PS+tkXVvyIw5aZfa61bT6XvDkoPI0Aj3GE5 ! YmCHJlKA/IhEr8QJOLV++5VEv4l6KQ1/DFoJzoNdr1AGJukgTc6X/WcQRzfQtUic ! PHQme5oAWoHa6bVQZOwvbJh3mOXDq/Tk/KF22go8maM44vMn4bvv+SBbslviYLiL ! jZJ1A/9JXF1esNq+X9HehJyqHHU7LEEf/ck6zC7o2erM3/LZlZuLNPD2cv3oL3Nv ! saEgcTSZl+8XmO8pLmzjKIb+hi70qVx3t2IhMqbb4B/dMY1Ck62gPBKa81/Wwi7v ! IsEBQLEtyBmGmI64YpzoRNFeaaF9JY+sAKqROqe6dLjJ7vebQLQfRWxnYW1hbCAx ! MDI0IDx0ZXN0QGV4YW1wbGUub3JnPoheBBMRAgAeBQJCyCFIAhsDBgsJCAcDAgMV ! AgMDFgIBAh4BAheAAAoJEBwpvA0YF3NkOtsAniI9W2bC3CxARTpYrev7ihreDzFc ! AJ9WYLQxDQAi5Ec9AQoodPkIagzZ4LkBDQRCyCFKEAQAh5SNbbJMAsJ+sQbcWEzd ! ku8AdYB5zY7Qyf9EOvn0g39bzANhxmmb6gbRlQN0ioymlDwraTKUAfuCZgNcg/0P ! sxFGb9nDcvjIV8qdVpnq1PuzMFuBbmGI6weg7Pj01dlPiO0wt1lLX+SubktqbYxI ! +h31c3RDZqxj+KAgxR8YNGMAAwYD+wQs2He1Z5+p4OSgMERiNzF0acZUYmc0e+/9 ! 6gfL0ft3IP+SSFo6hEBrkKVhZKoPSSRr5KpNaEobhdxsnKjUaw/qyoaFcNMzb4sF ! k8wq5UlCkR+h72u6hv8FuleCV8SJUT1U2JjtlXJR2Pey9ifh8rZfu57UbdwdHa0v ! iWc4DilhiEkEGBECAAkFAkLIIUoCGwwACgkQHCm8DRgXc2TtrwCfdPom+HlNVE9F ! ig3hGY1Rb4NEk1gAn1u9IuQB+BgDP40YHHz6bKWS/x80 ! =RWci ! -----END PGP PUBLIC KEY BLOCK----- ! ', ' ! -----BEGIN PGP PRIVATE KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! lQHpBELIIUgRBACp401L6jXrLB28c3YA4sM3OJKnxM1GT9YTkWyE3Vyte65H8WU9 ! tGPBX7OMuaX5eGZ84LFUGvaP0k7anfmXcDkCO3P9GgL+ro/dS2Ps/vChQPZqHaxE ! xpKDUt47B7DGdRJrC8DRnIR4wbSyQA6ma3S1yFqC5pJhSs+mqf9eExOjiwCgntth ! klRxIYw352ZX9Ov9oht/p/ED/1Xi4PS+tkXVvyIw5aZfa61bT6XvDkoPI0Aj3GE5 ! YmCHJlKA/IhEr8QJOLV++5VEv4l6KQ1/DFoJzoNdr1AGJukgTc6X/WcQRzfQtUic ! PHQme5oAWoHa6bVQZOwvbJh3mOXDq/Tk/KF22go8maM44vMn4bvv+SBbslviYLiL ! jZJ1A/9JXF1esNq+X9HehJyqHHU7LEEf/ck6zC7o2erM3/LZlZuLNPD2cv3oL3Nv ! saEgcTSZl+8XmO8pLmzjKIb+hi70qVx3t2IhMqbb4B/dMY1Ck62gPBKa81/Wwi7v ! IsEBQLEtyBmGmI64YpzoRNFeaaF9JY+sAKqROqe6dLjJ7vebQP4HAwImKZ5q2QwT ! D2DDAY/IQBjes7WgqZeacfLPDoB8ecD/KLoSCH6Z3etvbPHSOKiazxoJ962Ix74H ! ZAE6ZbMTtl5dZW1ptB9FbGdhbWFsIDEwMjQgPHRlc3RAZXhhbXBsZS5vcmc+iF4E ! ExECAB4FAkLIIUgCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQHCm8DRgXc2Q6 ! 2wCfXKegLIzoYi8cM57DCYXhn+MZB/MAn1D4zAi5uLQBJ8mJ9oQzbewgfAeinQFf ! BELIIUoQBACHlI1tskwCwn6xBtxYTN2S7wB1gHnNjtDJ/0Q6+fSDf1vMA2HGaZvq ! BtGVA3SKjKaUPCtpMpQB+4JmA1yD/Q+zEUZv2cNy+MhXyp1WmerU+7MwW4FuYYjr ! B6Ds+PTV2U+I7TC3WUtf5K5uS2ptjEj6HfVzdENmrGP4oCDFHxg0YwADBgP7BCzY ! d7Vnn6ng5KAwRGI3MXRpxlRiZzR77/3qB8vR+3cg/5JIWjqEQGuQpWFkqg9JJGvk ! qk1oShuF3GycqNRrD+rKhoVw0zNviwWTzCrlSUKRH6Hva7qG/wW6V4JXxIlRPVTY ! mO2VclHY97L2J+Hytl+7ntRt3B0drS+JZzgOKWH+BwMCJimeatkMEw9gRkFjt4Xa ! 9rX8awMBE5+vVcGKv/DNiCvJnlYvSdCj8VfuHsYFliiJo6u17NJon+K43e3yvDNk ! f631VOVanGEz7TyqOkWQiEkEGBECAAkFAkLIIUoCGwwACgkQHCm8DRgXc2TtrwCe ! IUWi3DXHZf6ivK7dDec22bGgoekAn0dTuPDvJ2Dfd0j0nyBWSuaxJnb/ ! =SNvr ! -----END PGP PRIVATE KEY BLOCK----- ! '); ! insert into keytbl (id, name, pubkey, seckey) ! values (6, 'rsaenc2048', ' ! -----BEGIN PGP PUBLIC KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! mQELBELr2m0BCADOrnknlnXI0EzRExf/TgoHvK7Xx/E0keWqV3KrOyC3/tY2KOrj ! UVxaAX5pkFX9wdQObGPIJm06u6D16CH6CildX/vxG7YgvvKzK8JGAbwrXAfk7OIW ! czO2zRaZGDynoK3mAxHRBReyTKtNv8rDQhuZs6AOozJNARdbyUO/yqUnqNNygWuT ! 4htFDEuLPIJwAbMSD0BvFW6YQaPdxzaAZm3EWVNbwDzjgbBUdBiUUwRdZIFUhsjJ ! dirFdy5+uuZru6y6CNC1OERkJ7P8EyoFiZckAIE5gshVZzNuyLOZjc5DhWBvLbX4 ! NZElAnfiv+4nA6y8wQLSIbmHA3nqJaBklj85AAYptCVSU0EgMjA0OCBFbmMgPHJz ! YTIwNDhlbmNAZXhhbXBsZS5vcmc+iQE0BBMBAgAeBQJC69ptAhsDBgsJCAcDAgMV ! AgMDFgIBAh4BAheAAAoJEMiZ6pNEGVVZHMkIAJtGHHZ9iM8Yq1rr0zl1L6SvlQP8 ! JCaxHa31wH3PKqGtq2M+cpb2rXf7gAY/doHJPXggfVzkyFrysmQ1gPbDGYLyOutw ! +IkhihEb5bWxQBNj+3zAFs1YX6v2HXWbSUSmyY1V9/+NTtKk03olDc/swd3lXzku ! UOhcgfpBgIt3Q+MpT6M2+OIF7lVfSb1rWdpwTfGhZzW9szQOeoS4gPvxCCRyuabQ ! RJ6DWH61F8fFIDJg1z+A/Obx4fqX6GOA69RzgZ3oukFBIXxNwV9PZNnAmHtZVYO8 ! 0g/oVYBbuvOYedffDBeQarhERZ5W2TnIE+nqY61YOLBqosliygdZTXULzNi5AQsE ! QuvaugEIAOuCJZdkzORA6e1lr81Lnr4JzMsVBFA+X/yIkBbV6qX/A4nVSLAZKNPX ! z1YIrMTu+1rMIiy10IWbA6zgMTpzPhJRfgePONgdnCYyK5Ksh5/C5ntzKwwGwxfK ! lAXIxJurCHXTbEa+YvPdn76vJ3HsXOXVEL+fLb4U3l3Ng87YM202Lh1Ha2MeS2zE ! FZcAoKbFqAAjDLEai64SoOFh0W3CsD1DL4zmfp+YZrUPHTtZadsi53i4KKW/ws9U ! rHlolqYNhYze/uRLyfnUx9PN4r/GhEzauyDMV0smo91uB3aewPft+eCpmeWnu0PF ! JVK4xyRmhIq2rVCw16a1pBJirvGM+y0ABimJAR8EGAECAAkFAkLr2roCGwwACgkQ ! yJnqk0QZVVku1wgAg1bLSjPkhw+ldG5HzumpqR84+JKyozdJaJzefu2+1iqYE0B0 ! WLz2PJVIiK41xiEkKhBvTOQYuXmtWqAWXptD91P5SoXoNJWLQO3TNwarANhHxkWg ! w/TOUxQqoctlRUej5NDD+4eW5G9lcS1FEGuKDWtX096u80vO+TbyJjvx2eVM1k+X ! dmeYsGOiNgDimCreJGYc14G7eY9jt24gw10n1sMAKI1qm6lcoHqZ9OOyla+wJdro ! PYZGO7R8+1O9R22WrK6BYDT5j/1JwMZqbOESjNvDEVT0yOHClCHRN4CChbt6LhKh ! CLUNdz/udIt0JAC6c/HdPLSW3HnmM3+iNj+Kug== ! =pwU2 ! -----END PGP PUBLIC KEY BLOCK----- ! ', ' ! -----BEGIN PGP PRIVATE KEY BLOCK----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! lQOWBELr2m0BCADOrnknlnXI0EzRExf/TgoHvK7Xx/E0keWqV3KrOyC3/tY2KOrj ! UVxaAX5pkFX9wdQObGPIJm06u6D16CH6CildX/vxG7YgvvKzK8JGAbwrXAfk7OIW ! czO2zRaZGDynoK3mAxHRBReyTKtNv8rDQhuZs6AOozJNARdbyUO/yqUnqNNygWuT ! 4htFDEuLPIJwAbMSD0BvFW6YQaPdxzaAZm3EWVNbwDzjgbBUdBiUUwRdZIFUhsjJ ! dirFdy5+uuZru6y6CNC1OERkJ7P8EyoFiZckAIE5gshVZzNuyLOZjc5DhWBvLbX4 ! NZElAnfiv+4nA6y8wQLSIbmHA3nqJaBklj85AAYpAAf9GuKpxrXp267eSPw9ZeSw ! Ik6ob1I0MHbhhHeaXQnF0SuOViJ1+Bs74hUB3/F5fqrnjVLIS/ysYzegYpbpXOIa ! MZwYcp2e+dpmVb7tkGQgzXH0igGtBQBqoSUVq9mG2XKPVh2JmiYgOH6GrHSGmnCq ! GCgEK4ezSomB/3OtPFSjAxOlSw6dXSkapSxW3pEGvCdaWd9p8yl4rSpGsZEErPPL ! uSbZZrHtWfgq5UXdPeE1UnMlBcvSruvpN4qgWMgSMs4d2lXvzXJLcht/nryP+atT ! H1gwnRmlDCVv5BeJepKo3ORJDvcPlXkJPhqS9If3BhTqt6QgQEFI4aIYYZOZpZoi ! 2QQA2Zckzktmsc1MS04zS9gm1CbxM9d2KK8EOlh7fycRQhYYqqavhTBH2MgEp+Dd ! ZtuEN5saNDe9x/fwi2ok1Bq6luGMWPZU/nZe7fxadzwfliy/qPzStWFW3vY9mMLu ! 6uEqgjin/lf4YrAswXDZaEc5e4GuNgGfwr27hpjxE1jg3PsEAPMqXEOMT2yh+yRu ! DlLRbFhYOI4aUHY2CGoQQONnwv2O5gFvmOcPlg3J5lvnwlOYCx0c3bDxAtHyjPJq ! FAZqcJBaB9RDhKHwlWDrbx/6FPH2SuKE+u4msIhPFin4V3FAP+yTem/TKrdnaWy6 ! EUrhCWTXVRTijBaCudfjFd/ipHZbA/0dv7UAcoWK6kiVLzyE+jOvtN+ZxTzxq7CW ! mlFPgAC966hgJmz9IXqadtMgPAoL3PK9q1DbPM3JhsQcJrNzTJqZrdN1/kPU0HHa ! +aof1BVy3wSvp2mXgaRUULStyhUIyBRM6hAYp3/MoWEYn/bwr+zQkIU8Zsk6OsZ6 ! q1xE3cowrUWFtCVSU0EgMjA0OCBFbmMgPHJzYTIwNDhlbmNAZXhhbXBsZS5vcmc+ ! iQE0BBMBAgAeBQJC69ptAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEMiZ6pNE ! GVVZHMkIAJtGHHZ9iM8Yq1rr0zl1L6SvlQP8JCaxHa31wH3PKqGtq2M+cpb2rXf7 ! gAY/doHJPXggfVzkyFrysmQ1gPbDGYLyOutw+IkhihEb5bWxQBNj+3zAFs1YX6v2 ! HXWbSUSmyY1V9/+NTtKk03olDc/swd3lXzkuUOhcgfpBgIt3Q+MpT6M2+OIF7lVf ! Sb1rWdpwTfGhZzW9szQOeoS4gPvxCCRyuabQRJ6DWH61F8fFIDJg1z+A/Obx4fqX ! 6GOA69RzgZ3oukFBIXxNwV9PZNnAmHtZVYO80g/oVYBbuvOYedffDBeQarhERZ5W ! 2TnIE+nqY61YOLBqosliygdZTXULzNidA5YEQuvaugEIAOuCJZdkzORA6e1lr81L ! nr4JzMsVBFA+X/yIkBbV6qX/A4nVSLAZKNPXz1YIrMTu+1rMIiy10IWbA6zgMTpz ! PhJRfgePONgdnCYyK5Ksh5/C5ntzKwwGwxfKlAXIxJurCHXTbEa+YvPdn76vJ3Hs ! XOXVEL+fLb4U3l3Ng87YM202Lh1Ha2MeS2zEFZcAoKbFqAAjDLEai64SoOFh0W3C ! sD1DL4zmfp+YZrUPHTtZadsi53i4KKW/ws9UrHlolqYNhYze/uRLyfnUx9PN4r/G ! hEzauyDMV0smo91uB3aewPft+eCpmeWnu0PFJVK4xyRmhIq2rVCw16a1pBJirvGM ! +y0ABikAB/oC3z7lv6sVg+ngjbpWy9lZu2/ECZ9FqViVz7bUkjfvSuowgpncryLW ! 4EpVV4U6mMSgU6kAi5VGT/BvYGSAtnqDWGiPs7Kk+h4Adz74bEAXzU280pNBtSfX ! tGvzlS4a376KzYFSCJDRBdMebEhJMbY0wQmR8lTZu5JSUI4YYEuN0c7ckdsw8w42 ! QWTLonG8HC6h8UPKS0EAcaCo7tFubMIesU6cWuTYucsHE+wjbADjuSNX968qczNe ! NoL2BUznXOQoPu6HQO4/8cr7ib+VQkB2bHQcMoZazPUStIID1e4CL4XcxfuAmT8o ! 3XDvMLgVqNp5W2f8Mzmk3/DbtsLXLOv5BADsCzQpseC8ikSYJC72hcon1wlUmGeH ! 3qgGiiHhYXFa18xgI5juoO8DaWno0rPPlgr36Y8mSB5qjYHMXwjKnKyUmt11H+hU ! +6uk4hq3Rjd8l+vfuOSr1xoTrtBUg9Rwfw6JVo0DC+8CWg4oBWsLXVM6KQXPFdJs ! 8kyFQplR/iP1XQQA/2tbDANjAYGNNDjJO9/0kEnSAUyYMasFJDrA2q17J5CroVQw ! QpMmWwdDkRANUVPKnWHS5sS65BRc7UytKe2f3A3ZInGXJIK2Hl+TzapWYcYxql+4 ! ol5mEDDMDbhEE8Wmj9KyB6iifdLI0K+yxNb9T4Jpj3J18+St+G8+9AcFcBEEAM1b ! M9C+/05cnV8gjcByqH9M9ypo8fzPvMKVXWwCLQXpaL50QIkzLURkiMoEWrCdELaA ! sVPotRzePTIQ1ooLeDxd1gRnDqjZiIR0kwmv6vq8tfzY96O2ZbGWFI5eth89aWEJ ! WB8AR3zYcXpwJLwPuhXW2/NlZF0bclJ3jNzAfTIeQmeJAR8EGAECAAkFAkLr2roC ! GwwACgkQyJnqk0QZVVku1wgAg1bLSjPkhw+ldG5HzumpqR84+JKyozdJaJzefu2+ ! 1iqYE0B0WLz2PJVIiK41xiEkKhBvTOQYuXmtWqAWXptD91P5SoXoNJWLQO3TNwar ! ANhHxkWgw/TOUxQqoctlRUej5NDD+4eW5G9lcS1FEGuKDWtX096u80vO+TbyJjvx ! 2eVM1k+XdmeYsGOiNgDimCreJGYc14G7eY9jt24gw10n1sMAKI1qm6lcoHqZ9OOy ! la+wJdroPYZGO7R8+1O9R22WrK6BYDT5j/1JwMZqbOESjNvDEVT0yOHClCHRN4CC ! hbt6LhKhCLUNdz/udIt0JAC6c/HdPLSW3HnmM3+iNj+Kug== ! =UKh3 ! -----END PGP PRIVATE KEY BLOCK----- ! '); ! insert into keytbl (id, name, pubkey, seckey) ! values (7, 'rsaenc2048-psw', ' ! same key with password ! ', ' ! -----BEGIN PGP PRIVATE KEY BLOCK----- ! Version: GnuPG v1.4.11 (GNU/Linux) ! ! lQPEBELr2m0BCADOrnknlnXI0EzRExf/TgoHvK7Xx/E0keWqV3KrOyC3/tY2KOrj ! UVxaAX5pkFX9wdQObGPIJm06u6D16CH6CildX/vxG7YgvvKzK8JGAbwrXAfk7OIW ! czO2zRaZGDynoK3mAxHRBReyTKtNv8rDQhuZs6AOozJNARdbyUO/yqUnqNNygWuT ! 4htFDEuLPIJwAbMSD0BvFW6YQaPdxzaAZm3EWVNbwDzjgbBUdBiUUwRdZIFUhsjJ ! dirFdy5+uuZru6y6CNC1OERkJ7P8EyoFiZckAIE5gshVZzNuyLOZjc5DhWBvLbX4 ! NZElAnfiv+4nA6y8wQLSIbmHA3nqJaBklj85AAYp/gcDCNnoEKwFo86JYCE1J92R ! HRQ7DoyAZpW1O0dTXL8Epk0sKsKDrCJOrIkDymsjfyBexADIeqOkioy/50wD2Mku ! CVHKWO2duAiJN5t/FoRgpR1/Q11K6QdfqOG0HxwfIXLcPv7eSIso8kWorj+I01BP ! Fn/atGEbIjdWaz/q2XHbu0Q3x6Et2gIsbLRVMhiYz1UG9uzGJ0TYCdBa2SFhs184 ! 52akMpD+XVdM0Sq9/Cx40Seo8hzERB96+GXnQ48q2OhlvcEXiFyD6M6wYCWbEV+6 ! XQVMymbl22FPP/bD9ReQX2kjrkQlFAtmhr+0y8reMCbcxwLuQfA3173lSPo7jrbH ! oLrGhkRpqd2bYCelqdy/XMmRFso0+7uytHfTFrUNfDWfmHVrygoVrNnarCbxMMI0 ! I8Q+tKHMThWgf0rIOSh0+w38kOXFCEqEWF8YkAqCrMZIlJIed78rOCFgG4aHajZR ! D8rpXdUOIr/WeUddK25Tu8IuNJb0kFf12IMgNh0nS+mzlqWiofS5kA0TeB8wBV6t ! RotaeyDNSsMoowfN8cf1yHMTxli+K1Tasg003WVUoWgUc+EsJ5+KTNwaX5uGv0Cs ! j6dg6/FVeVRL9UsyF+2kt7euX3mABuUtcVGx/ZKTq/MNGEh6/r3B5U37qt+FDRbw ! ppKPc2AP+yBUWsQskyrxFgv4eSpcLEg+lgdz/zLyG4qW4lrFUoO790Cm/J6C7/WQ ! Z+E8kcS8aINJkg1skahH31d59ZkbW9PVeJMFGzNb0Z2LowngNP/BMrJ0LT2CQyLs ! UxbT16S/gwAyUpJnbhWYr3nDdlwtC0rVopVTPD7khPRppcsq1f8D70rdIxI4Ouuw ! vbjNZ1EWRJ9f2Ywb++k/xgSXwJkGodUlrUr+3i8cv8mPx+fWvif9q7Y5Ex1wCRa8 ! 8FAj/o+hEbQlUlNBIDIwNDggRW5jIDxyc2EyMDQ4ZW5jQGV4YW1wbGUub3JnPokB ! NAQTAQIAHgUCQuvabQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRDImeqTRBlV ! WRzJCACbRhx2fYjPGKta69M5dS+kr5UD/CQmsR2t9cB9zyqhratjPnKW9q13+4AG ! P3aByT14IH1c5Mha8rJkNYD2wxmC8jrrcPiJIYoRG+W1sUATY/t8wBbNWF+r9h11 ! m0lEpsmNVff/jU7SpNN6JQ3P7MHd5V85LlDoXIH6QYCLd0PjKU+jNvjiBe5VX0m9 ! a1nacE3xoWc1vbM0DnqEuID78Qgkcrmm0ESeg1h+tRfHxSAyYNc/gPzm8eH6l+hj ! gOvUc4Gd6LpBQSF8TcFfT2TZwJh7WVWDvNIP6FWAW7rzmHnX3wwXkGq4REWeVtk5 ! yBPp6mOtWDiwaqLJYsoHWU11C8zYnQPEBELr2roBCADrgiWXZMzkQOntZa/NS56+ ! CczLFQRQPl/8iJAW1eql/wOJ1UiwGSjT189WCKzE7vtazCIstdCFmwOs4DE6cz4S ! UX4HjzjYHZwmMiuSrIefwuZ7cysMBsMXypQFyMSbqwh102xGvmLz3Z++rydx7Fzl ! 1RC/ny2+FN5dzYPO2DNtNi4dR2tjHktsxBWXAKCmxagAIwyxGouuEqDhYdFtwrA9 ! Qy+M5n6fmGa1Dx07WWnbIud4uCilv8LPVKx5aJamDYWM3v7kS8n51MfTzeK/xoRM ! 2rsgzFdLJqPdbgd2nsD37fngqZnlp7tDxSVSuMckZoSKtq1QsNemtaQSYq7xjPst ! AAYp/gcDCNnoEKwFo86JYAsxoD+wQ0zBi5RBM5EphXTpM1qKxmigsKOvBSaMmr0y ! VjHtGY3poyV3t6VboOGCsFcaKm0tIdDL7vrxxwyYESETpF29b7QrYcoaLKMG7fsy ! t9SUI3UV2H9uUquHgqHtsqz0jYOgm9tYnpesgQ/kOAWI/tej1ZJXUIWEmZMH/W6d ! ATNvZ3ivwApfC0qF5G3oPgBSoIuQ/8I+pN/kmuyNAnJWNgagFhA/2VFBvh5XgztV ! NW7G//KpR1scsn140SO/wpGBM3Kr4m8ztl9w9U6a7NlQZ2ub3/pIUTpSzyLBxJZ/ ! RfuZI7ROdgDMKmEgCYrN2kfp0LIxnYL6ZJu3FDcS4V098lyf5rHvB3PAEdL6Zyhd ! qYp3Sx68r0F4vzk5iAIWf6pG2YdfoP2Z48Pmq9xW8qD9iwFcoz9oAzDEMENn6dfq ! 6MzfoaXEoYp8cR/o+aeEaGUtYBHiaxQcJYx35B9IhsXXA49yRORK8qdwhSHxB3NQ ! H3pUWkfw368f/A207hQVs9yYXlEvMZikxl58gldCd3BAPqHm/XzgknRRNQZBPPKJ ! BMZebZ22Dm0qDuIqW4GXLB4sLf0+UXydVINIUOlzg+S4jrwx7eZqb6UkRXTIWVo5 ! psTsD14wzWBRdUQHZOZD33+M8ugmewvLY/0Uix+2RorkmB7/jqoZvx/MehDwmCZd ! VH8sb2wpZ55sj7gCXxvrfieQD/VeH54OwjjbtK56iYq56RVD0h1az8xDY2GZXeT7 ! J0c3BGpuoca5xOFWr1SylAr/miEPxOBfnfk8oZQJvZrjSBGjsTbALep2vDJk8ROD ! sdQCJuU1RHDrwKHlbUL0NbGRO2juJGsatdWnuVKsFbaFW2pHHkezKuwOcaAJv7Xt ! 8LRF17czAJ1uaLKwV8Paqx6UIv+089GbWZi7HIkBHwQYAQIACQUCQuvaugIbDAAK ! CRDImeqTRBlVWS7XCACDVstKM+SHD6V0bkfO6ampHzj4krKjN0lonN5+7b7WKpgT ! QHRYvPY8lUiIrjXGISQqEG9M5Bi5ea1aoBZem0P3U/lKheg0lYtA7dM3BqsA2EfG ! RaDD9M5TFCqhy2VFR6Pk0MP7h5bkb2VxLUUQa4oNa1fT3q7zS875NvImO/HZ5UzW ! T5d2Z5iwY6I2AOKYKt4kZhzXgbt5j2O3biDDXSfWwwAojWqbqVygepn047KVr7Al ! 2ug9hkY7tHz7U71HbZasroFgNPmP/UnAxmps4RKM28MRVPTI4cKUIdE3gIKFu3ou ! EqEItQ13P+50i3QkALpz8d08tJbceeYzf6I2P4q6 ! =QFm5 ! -----END PGP PRIVATE KEY BLOCK----- ! '); ! -- elg1024 / aes128 ! insert into encdata (id, data) values (1, ' ! -----BEGIN PGP MESSAGE----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! hQEOA9k2z2S7c/RmEAQAgVWW0DeLrZ+1thWJGBPp2WRFL9HeNqqWHbKJCXJbz1Uy ! faUY7yxVvG5Eutmo+JMiY3mg23/DgVVXHQZsTWpGvGM6djgUNGKUjZDbW6Nog7Mr ! e78IywattCOmgUP9vIwwg3OVjuDCN/nVirGQFnXpJBc8DzWqDMWRWDy1M0ZsK7AD ! /2JTosSFxUdpON0DKtIY3GLzmh6Nk3iV0g8VgJKUBT1rhCXuMDj3snm//EMm7hTY ! PlnObq4mIhgz8NqprmhooxnU0Kapofb3P3wCHPpU14zxhXY8iKO/3JhBq2uFcx4X ! uBMwkW4AdNxY/mzJZELteTL8Tr0s7PISk+owb4URpG3n0jsBc0CVULxrjh5Ejkdw ! wCM195J6+KbQxOOFQ0b3uOVvv4dEgd/hRERCOq5EPaFhlHegyYJ7YO842vnSDA== ! =PABx ! -----END PGP MESSAGE----- ! '); ! -- elg2048 / blowfish ! insert into encdata (id, data) values (2, ' ! -----BEGIN PGP MESSAGE----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! hQIOAywibh/+XMfUEAf+OINhBngEsw4a/IJIeJvUgv1gTQzBwOdQEuc/runr4Oa8 ! Skw/Bj0X/zgABVZLem1a35NHaNwaQaCFwMQ41YyWCu+jTdsiyX/Nw0w8LKKz0rNC ! vVpG6YuV7Turtsf8a5lXy1K0SHkLlgxQ6c76GS4gtSl5+bsL2+5R1gSRJ9NXqCQP ! OHRipEiYwBPqr5R21ZG0FXXNKGOGkj6jt/M/wh3WVtAhYuBI+HPKRfAEjd/Pu/eD ! e1zYtkH1dKKFmp44+nF0tTI274xpuso7ShfKYrOK3saFWrl0DWiWteUinjSA1YBY ! m7dG7NZ8PW+g1SZWhEoPjEEEHz3kWMvlKheMRDudnQf/dDyX6kZVIAQF/5B012hq ! QyVewgTGysowFIDn01uIewoEA9cASw699jw9IoJp+k5WZXnU+INllBLzQxniQCSu ! iEcr0x3fYqNtj9QBfbIqyRcY6HTWcmzyOUeGaSyX76j+tRAvtVtXpraFFFnaHB70 ! YpXTjLkp8EBafzMghFaKDeXlr2TG/T7rbwcwWrFIwPqEAUKWN5m97Q3eyo8/ioMd ! YoFD64J9ovSsgbuU5IpIGAsjxK+NKzg/2STH7zZFEVCtgcIXsTHTZfiwS98/+1H9 ! p1DIDaXIcUFV2ztmcKxh9gt2sXRz1W+x6D8O0k3nanU5yGG4miLKaq18fbcA0BD1 ! +NIzAfelq6nvvxYKcGcamBMgLo5JkZOBHvyr6RsAKIT5QYc0QTjysTk9l0Am3gYc ! G2pAE+3k ! =TBHV ! -----END PGP MESSAGE----- ! '); ! -- elg4096 / aes256 ! insert into encdata (id, data) values (3, ' ! -----BEGIN PGP MESSAGE----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! hQQOA7aFBP0Sjh/5EA/+JCgncc8IZmmRjPStWnGf9tVJhgHTn+smIclibGzs0deS ! SPSCitzpblwbUDvu964+/5e5Q1l7rRuNN+AgETlEd4eppv7Swn2ChdgOXxRwukcT ! Nh3G+PTFvD4ayi7w1db3qvXIt0MwN4Alt436wJmK1oz2Ka9IcyO+wHWrDy1nSGSx ! z5x7YEj+EZPgWc/YAvudqE8Jpzd/OT5zSHN09UFkIAk6NxisKaIstbEGFgpqtoDZ ! 1SJM84XAdL2IcaJ3YY7k/yzwlawhsakKd4GSd5vWmAwvyzzbSiBMfKsDE16ePLNU ! ZBF7CzmlCBPZ7YrFAHLpXBXXkCQvzD2BEYOjse50ZEfJ036T7950Ozcdy1EQbGon ! nyQ4Gh0PBpnMcBuiXOceWuYzhlzFOzDtlVKdNTxFRDcbEyW2jo9xQYvCCLnYy8EH ! 2M7S8jCtVYJBbn63a82ELv+3+kWYcsvBJv2ZVBh4ncrBu9o0P+OYS7ApoOU+j6p2 ! +t0RXHksqXS1YiUwYF5KSw09EbYMgNZ9G04Px/PxLU6fSC9iDrGX7Xt3kOUP0mku ! C518fPckT0zzRXqfFruJNRzDytW50KxkOQZzU1/Az1YlYN9QzWeU4EtLPb2fftZo ! D0qH/ln+f9Op5t6sD2fcxZVECU1b/bFtZsxvwH406YL+UQ7hU/XnZrzVVzODal8P ! /j1hg7v7BdJqu1DTp9nFWUuwMFcYAczuXn29IG183NZ7Ts4whDeYEhS8eNoLPX4j ! txY12ILD/w/3Q4LoW/hPa6OdfEzsn0U5GLf1WiGmJE1H6ft2U/xUnerc/u0kt+FU ! WAisArd4MuKtf7B5Vu/VF3kUdrR0hTniUKUivmC4o1jSId31Dufxj4aadVyldXAr ! 6TNBcdyragZjxEZ6hsBCYzA0Rd1a8atd6OaQoIEEfAzCu5Ks29pydHErStYGjWJ1 ! KA5KPLVvjbHpDmRhlCcm8vgpYQsBYEB5gE9fx5yCTlsVhCB6y23h7hfdMqerDqkO ! ZOPsO5h+tiHCdIrQ36sMjuINy1/K2rYcXd+Crh2iHcfidpU9fvDz2ihTRNQlhjuT ! 0cQZM5JhctEx4VXF4LDctRhit7Hn0iqsk604woQfJVvP8O673xSXT/kBY0A/v9C0 ! 3C4YoFNeSaKwbfZQ/4u1ZFPJxK2IIJa8UGpyAUewLMlzGVVagljybv/f4Z9ERAhy ! huq5sMmw8UPsrJF2TUGHz5WSIwoh0J/qovoQI09I9sdEnFczDvRavMO2Mldy3E5i ! exz9oewtel6GOmsZQSYWT/vJzbYMmvHNmNpVwwoKrLV6oI3kyQ80GHBwI1WlwHoK ! 2iRB0w8q4VVvJeYAz8ZIp380cqC3pfO0uZsrOx4g3k4X0jsB5y7rF5xXcZfnVbvG ! DYKcOy60/OHMWVvpw6trAoA+iP+cVWPtrbRvLglTVTfYmi1ToZDDipkALBhndQ== ! =L/M/ ! -----END PGP MESSAGE----- ! '); ! -- rsaenc2048 / aes128 ! insert into encdata (id, data) values (4, ' ! -----BEGIN PGP MESSAGE----- ! Version: GnuPG v1.4.1 (GNU/Linux) ! ! hQEMA/0CBsQJt0h1AQf+JyYnCiortj26P11zk28MKOGfWpWyAhuIgwbJXsdQ+e6r ! pEyyqs9GC6gI7SNF6+J8B/gsMwvkAL4FHAQCvA4ZZ6eeXR1Of4YG22JQGmpWVWZg ! DTyfhA2vkczuqfAD2tgUpMT6sdyGkQ/fnQ0lknlfHgC5GRx7aavOoAKtMqiZW5PR ! yae/qR48mjX7Mb+mLvbagv9mHEgQSmHwFpaq2k456BbcZ23bvCmBnCvqV/90Ggfb ! VP6gkSoFVsJ19RHsOhW1dk9ehbl51WB3zUOO5FZWwUTY9DJvKblRK/frF0+CXjE4 ! HfcZXHSpSjx4haGGTsMvEJ85qFjZpr0eTGOdY5cFhNJAAVP8MZfji7OhPRAoOOIK ! eRGOCkao12pvPyFTFnPd5vqmyBbdNpK4Q0hS82ljugMJvM0p3vJZVzW402Kz6iBL ! GQ== ! =XHkF ! -----END PGP MESSAGE----- ! '); ! -- rsaenc2048 / aes128 (not from gnupg) ! insert into encdata (id, data) values (5, ' ! -----BEGIN PGP MESSAGE----- ! ! wcBMA/0CBsQJt0h1AQgAzxZ8j+OTeZ8IlLxfZ/mVd28/gUsCY+xigWBk/anZlK3T ! p2tNU2idHzKdAttH2Hu/PWbZp4kwjl9spezYxMqCeBZqtfGED88Y+rqK0n/ul30A ! 7jjFHaw0XUOqFNlST1v6H2i7UXndnp+kcLfHPhnO5BIYWxB2CYBehItqtrn75eqr ! C7trGzU/cr74efcWagbCDSNjiAV7GlEptlzmgVMmNikyI6w0ojEUx8lCLc/OsFz9 ! pJUAX8xuwjxDVv+W7xk6c96grQiQlm+FLDYGiGNXoAzx3Wi/howu3uV40dXfY+jx ! 3WBrhEew5Pkpt1SsWoFnJWOfJ8GLd0ec8vfRCqAIVdLgAeS7NyawQYtd6wuVrEAj ! 5SMg4Thb4d+g45RksuGLHUUr4qO9tiXglODa4InhmJfgNuLk+RGz4LXjq8wepEmW ! vRbgFOG54+Cf4C/gC+HkreDm5JKSKjvvw4B/jC6CDxq+JoziEe2Z1uEjCuEcr+Es ! /eGzeOi36BejXPMHeKxXejj5qBBHKV0pHVhZSgffR0TtlXdB967Yl/5agV0R89hI ! 7Gw52emfnH4Z0Y4V0au2H0k1dR/2IxXdJEWSTG7Be1JHT59p9ei2gSEOrdBMIOjP ! tbYYUlmmbvD49bHfThkDiC+oc9947LgQsk3kOOLbNHcjkbrjH8R5kjII4m/SEZA1 ! g09T+338SzevBcVXh/cFrQ6/Et+lyyO2LJRUMs69g/HyzJOVWT2Iu8E0eS9MWevY ! Qtrkrhrpkl3Y02qEp/j6M03Yu2t6ZF7dp51aJ5VhO2mmmtHaTnCyCc8Fcf72LmD8 ! blH2nKZC9d6fi4YzSYMepZpMOFR65M80MCMiDUGnZBB8sEADu2/iVtqDUeG8mAA= ! =PHJ1 ! -----END PGP MESSAGE----- ! '); ! -- successful decrypt ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) ! from keytbl, encdata where keytbl.id=1 and encdata.id=1; ! pgp_pub_decrypt ! ----------------- ! Secret msg ! (1 row) ! ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) ! from keytbl, encdata where keytbl.id=2 and encdata.id=2; ! pgp_pub_decrypt ! ----------------- ! Secret msg ! (1 row) ! ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) ! from keytbl, encdata where keytbl.id=3 and encdata.id=3; ! pgp_pub_decrypt ! ----------------- ! Secret msg ! (1 row) ! ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) ! from keytbl, encdata where keytbl.id=6 and encdata.id=4; ! pgp_pub_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! -- wrong key ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) ! from keytbl, encdata where keytbl.id=2 and encdata.id=1; ! ERROR: Wrong key ! -- sign-only key ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) ! from keytbl, encdata where keytbl.id=4 and encdata.id=1; ! ERROR: No encryption key found ! -- rsa: password-protected secret key, wrong password ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey), '123') ! from keytbl, encdata where keytbl.id=7 and encdata.id=4; ! ERROR: Wrong key or corrupt data ! -- rsa: password-protected secret key, right password ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey), 'parool') ! from keytbl, encdata where keytbl.id=7 and encdata.id=4; ! pgp_pub_decrypt ! ----------------- ! Secret message. ! (1 row) ! ! -- password-protected secret key, no password ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) ! from keytbl, encdata where keytbl.id=5 and encdata.id=1; ! ERROR: Need password for secret key ! -- password-protected secret key, wrong password ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey), 'foo') ! from keytbl, encdata where keytbl.id=5 and encdata.id=1; ! ERROR: Wrong key or corrupt data ! -- password-protected secret key, right password ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey), 'parool') ! from keytbl, encdata where keytbl.id=5 and encdata.id=1; ! pgp_pub_decrypt ! ----------------- ! Secret msg ! (1 row) ! ! -- test for a short read from prefix_init ! select pgp_pub_decrypt(dearmor(data), dearmor(seckey)) ! from keytbl, encdata where keytbl.id=6 and encdata.id=5; ! ERROR: Wrong key or corrupt data --- 1 ---- ! psql: FATAL: the database system is in recovery mode ====================================================================== *** /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/expected/pgp-pubkey-encrypt.out 2016-03-15 14:32:12.933977992 +0300 --- /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/results/pgp-pubkey-encrypt.out 2016-03-15 16:28:48.623642183 +0300 *************** *** 1,70 **** ! -- ! -- 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 --- 1 ---- ! psql: FATAL: the database system is in recovery mode ====================================================================== *** /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/expected/pgp-info.out 2016-03-15 14:32:12.933977992 +0300 --- /home/vpopov/Projects/pwdtest.new/postgresql/contrib/pgcrypto/results/pgp-info.out 2016-03-15 16:28:48.631642256 +0300 *************** *** 1,79 **** ! -- ! -- PGP info functions ! -- ! -- pgp_key_id ! select pgp_key_id(dearmor(pubkey)) from keytbl where id=1; ! pgp_key_id ! ------------------ ! D936CF64BB73F466 ! (1 row) ! ! select pgp_key_id(dearmor(pubkey)) from keytbl where id=2; ! pgp_key_id ! ------------------ ! 2C226E1FFE5CC7D4 ! (1 row) ! ! select pgp_key_id(dearmor(pubkey)) from keytbl where id=3; ! pgp_key_id ! ------------------ ! B68504FD128E1FF9 ! (1 row) ! ! select pgp_key_id(dearmor(pubkey)) from keytbl where id=4; -- should fail ! ERROR: No encryption key found ! select pgp_key_id(dearmor(pubkey)) from keytbl where id=5; ! pgp_key_id ! ------------------ ! D936CF64BB73F466 ! (1 row) ! ! select pgp_key_id(dearmor(pubkey)) from keytbl where id=6; ! pgp_key_id ! ------------------ ! FD0206C409B74875 ! (1 row) ! ! select pgp_key_id(dearmor(seckey)) from keytbl where id=1; ! pgp_key_id ! ------------------ ! D936CF64BB73F466 ! (1 row) ! ! select pgp_key_id(dearmor(seckey)) from keytbl where id=2; ! pgp_key_id ! ------------------ ! 2C226E1FFE5CC7D4 ! (1 row) ! ! select pgp_key_id(dearmor(seckey)) from keytbl where id=3; ! pgp_key_id ! ------------------ ! B68504FD128E1FF9 ! (1 row) ! ! select pgp_key_id(dearmor(seckey)) from keytbl where id=4; -- should fail ! ERROR: No encryption key found ! select pgp_key_id(dearmor(seckey)) from keytbl where id=5; ! pgp_key_id ! ------------------ ! D936CF64BB73F466 ! (1 row) ! ! select pgp_key_id(dearmor(seckey)) from keytbl where id=6; ! pgp_key_id ! ------------------ ! FD0206C409B74875 ! (1 row) ! ! select pgp_key_id(dearmor(data)) as data_key_id ! from encdata order by id; ! data_key_id ! ------------------ ! D936CF64BB73F466 ! 2C226E1FFE5CC7D4 ! B68504FD128E1FF9 ! FD0206C409B74875 ! FD0206C409B74875 ! (5 rows) ! --- 1 ---- ! psql: FATAL: the database system is in recovery mode ======================================================================