Replace use of Sequoia's backend with a custom key store.
- Sequoia's key store doesn't meet pep's needs (in particular, the
ability to search on a key's user id) and trying to shoehorn pep's
needs onto Sequoia's key store abstractions is just introducing
overhead with no appreciable gain in functionality.
- This patch changes the Sequoia backend to use a local sqlite
database to store the public keys.
1 -----BEGIN PGP PRIVATE KEY BLOCK-----
3 lQOYBFV4Pl8BCACuukQLwsHftH5jkVsSL7COFhamNsEE8lZ8MG1f1Rx5ztPuZTna
4 YXyWODgpj2Bxz0TcP+Q17GbLKse7TWD1k9i1RzLWz8ZSCLYq2TtjLWPleVuGGWeq
5 Y3tTWHC/nFbivolNPA0mL2038TGdBolPaZiPZ4P8wuQVYNfDqi4utcezGDNS8OHh
6 EPhfyKKoSM79HLoUPc6xsfimxPMrylI/i8bFvfDYz5vmydefvAxNhqjLH3Gmhj1p
7 nInsraEiyh7Y2zAxCfr6hD9nky7WixBinKFFhQpcUu1o+Ie6UGwLVbTyRMOcRsob
8 yahqA/m2HfDRj1Y+n8HHqsQkB2BtmMYXla3jABEBAAEAB/wKqiU2GVr1zJ5iqGZ7
9 hS9zDk3imXjAuwpK7GlfAVk9snSRpycK7IrxeX8s3J30qsOxGv5sYvOUcGK35kCs
10 eV78RyfthmM8WMcs28ATgE7WtkhyUAGmTwnuq9+Ldz9MYEUHUrEaXnTkBocFmd0I
11 Qx5qZLvHHtDtRx4HfAJZz0/5kj8KyKYB5cYsvRoLYdCWuxeIbJu5FYtHHBywNFnZ
12 Qt8STaQqZPD0gPh3ahzY8KYJFZbSFpGfaH0AX5dkFpUJdyad4R2c9ZOmnaK3W0Ba
13 cdQSdi66iiT0UG7f6ECR9HfI+nVfshOVLZA90p+LqLW51S7iBeFAoZyYfKuNrE9b
14 pV3VBADNf9Ec2CJ3jo2LrTrkN1HkcjmwdosFQWaDaXtRmV/GidWAyTS+JzaxnS1A
15 Y9klOqJktVNegrrkk+Xo6jHxkneGucDSsxpIVIcqTa2LGrt1E1eHNYwuEPIyHvl3
16 gPmfLCuetu+qp97+EOJBklSJi4ljPcAo7i+WI4Nsni6Q6eF7XQQA2aqRpIBmDdFY
17 9x3uAMDO3mSqIiEJWPiFZHs/qKGezJUgl4hrsjuiUWiD1gcPSS0zJRcZZ7GLYb9r
18 1uJOnzOtTLexEnAa0VJ9Svci+jtRX6HVETAnYqn9AQ/0sYvmTmWKge7q7BJHGnyv
19 YbyXmCwGyV8/cvSS8Mmh8iMYWg6mej8D/jN0ymPP9jGeuFav6Va/T8j+Fdl0zTVT
20 MkFPizlxJEev6PA9QKvAWo4iqRA3SIdqjrZpPcpwhalV5cK4KfHlh8/GagjU9kFS
21 JvUarmLZqoDqKT6cHb2OzcNBeCsuKGthraT1G+8NpXIgNr6a+5upo83pbL4RarPn
22 3u2JgSX0RPKDP8y0QXBFcCBUZXN0IEJvYiAodGVzdCBrZXksIGRvbid0IHVzZSkg
23 PHBlcC50ZXN0LmJvYkBwZXAtcHJvamVjdC5vcmc+iQE4BBMBAgAiBQJVeD5fAhsD
24 BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBZv/SIycLuOaR5CACj3E6ykNqj
25 GS5PzghYfLJso6j954QzLwOozTzU/3/HWH4lC3Jmfr0pGI51KZ6Xevrp3N9SxRqr
26 uJCFRtwNeH3ujIgDh/UHCUEsP/+d74SOenIBYGUKE1OJmh8/LQdkNSc6JNdzJjDW
27 dKeh6cAMFvWju/Nqtl/l0FGspQU9dmCMtzkKgmwoKZW56aEVZ2lTxqNEo1aQ+lLr
28 NueBq0/Q5kAVEzUG7Ufm19wXjWenEMeeElX3UAGudLJuckx7uD8W/yBwqrRAbaCS
29 eZf6RVBLz96ekjWrVfMnmjkPuQPPt5cs98RxQTpxk7b6xLaWXymhA6cYU+FAW4Dp
30 bjfJjMWIFDcKnQOYBFV4Pl8BCADKQ2SV6gjR5N69xVdiCaefjwobrXR1niuBHBNT
31 XMJwPk2xv+e7fY28RK1BzODYCzBhpltvRoCcJi9S7Rqyz81nbxnw/1TaKtn6dDDh
32 ZPVHjN3vasDueM6xTEfEihNc0Owf4wz9SBjuredUVkdTxU7FxSgVP10dOxhdtkjW
33 jGW1DF6WlYA8BAIEdbpoheJHz3NFkhPQ8Dlzo7Ioe2t7vrTztcBX11o2e+FPOq1S
34 mhEr78wbROAyCVAXK+8qDh4zDq8iAMZK/KnZrm6pP00+iBRcb+JQgn3Gn+hU0lgE
35 3YB9kBJLeWaHxEPNnnNNvW/BMl53ctf8Ip+pzpA1K/S23KU7ABEBAAEAB/0UO5/y
36 aSoUXl8zv5ZpWGA8E1x7qU3MPZQfgwtMhwEXplEyVelHSvIkjQAsjridPqf1KhAy
37 dkHY8kRAo4xMqoHjIMIzu+76hgKDzcoH+gfumOD97qwPDub/kGBg1j5v8KGg4knD
38 L8pNXKMWlNeSFzDf6BmFipmfb3EVYBiIMceIz97c4BGvs29TC2wIKmJBRbWu9eS7
39 vqkBj8rEGi+pEnzTFvcZTMkoU6Uj/HifpvQ7BcOzUQ/1tiGQMEPv8oPMWmKudqBw
40 53e7RoYCZmTzuzI5fNvNcNT1EcUQmAfkgT6zvQuY63DAdECVx2f0p7MlgGA9ncQb
41 IVVdBtJXfwsAFmthBADXmavPPgiC8nU1q8e2pB0pmS3/uflPdmh+xKs0MxylDgSO
42 H9Ar7g9duxsrjxxHzlkTb0Am2XeWww3fBO762VH9VCAPH3FRoHGNCnY6Ix0MyikW
43 g4Gs66QXHMTNweOa9zk+cZS6N0H6dDis6x+9M1FCeJzy3gXaq+vfV5LfGeXMYQQA
44 8CnyHE7rjoqGNPnTWetuYgo6yhYJudbhO0uDewR5MdP1gwpTUmYl5RD41LSwTSGp
45 VSbjtct5dQg2ZhjUWxXcx1OC+aMafmDPi6S32mwbgfNtfTCIygM8CPDjdWbFu1ba
46 KbPA9Lc/SHgpg0vbdiZ4PWOqsqnig834r+3VfLX/dxsEANAWGGJRNTHmIwoC4HsV
47 +KiyApbBRw2TCHxJjlzFY2OFpe8RuGKE7HpKiSYjarGxP0RlESrbie0nbJ8FooIH
48 gY2ipO3khgK4MK1Xua405mNVzge9oNJPgWEtLabubimVnTwjU6O7m79Xl+R9BYb1
49 GVZm7f/WMDL7BsNVvhMVjdgiOOOJAR8EGAECAAkFAlV4Pl8CGwwACgkQWb/0iMnC
50 7jlqbwf/dP4sXDRiR5uVMh5WhOn1S8MnHZhLWAQ6fI9/KxggCPhgY6zAgszPMutz
51 BsQlV4P6QX30d99IMJrzGYYxjN7Z6fF7us9u103+GTzGQH7/47JG0eSTSaKQvqEa
52 N1+6M/OBZKcwNW6xHa+lhIS5nJGV3Oey/RFQwucBujQbtyjDN3aGshwqzhJXFBlF
53 3RqFzLxuAJmeOVedaKvdPjRhgFuxhkicUhVp27qXQCpDpkUkj9hb75yCE6pAzopO
54 6s65yHsnFyehwgyMrfpTPlPM86B1LH4IEwSaOrEJSdHnnFD8nnSIjRyfra3dsI/R
55 VNmYX8EkMGICzoR4lWcYFShJQM6QQg==
57 -----END PGP PRIVATE KEY BLOCK-----