commit: 1a9a04c5d9071537c761b06f9da104d0809e2f2d Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Thu Oct 23 13:21:08 2025 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Thu Oct 23 13:21:08 2025 +0000 URL: https://gitweb.gentoo.org/proj/gemato.git/commit/?id=1a9a04c5
Move test key data to files Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> tests/data/first-key/expired-sig | Bin 0 -> 343 bytes tests/data/first-key/fpr.txt | 1 + tests/data/first-key/private-key-id.txt | 1 + tests/data/first-key/pub | Bin 0 -> 272 bytes tests/data/first-key/revocation-sig | Bin 0 -> 313 bytes tests/data/first-key/secret | Bin 0 -> 923 bytes tests/data/first-key/sub-fpr.txt | 1 + tests/data/first-key/subkey | Bin 0 -> 143 bytes tests/data/first-key/subkey-sig | Bin 0 -> 494 bytes tests/data/first-key/uid | 1 + tests/data/first-key/uid-noemail | 1 + tests/data/first-key/uid-noemail-sig | Bin 0 -> 337 bytes tests/data/first-key/uid-nonutf | 1 + tests/data/first-key/uid-nonutf-sig | Bin 0 -> 337 bytes tests/data/first-key/uid-sig | Bin 0 -> 337 bytes tests/data/first-key/unexpire-sig | Bin 0 -> 337 bytes tests/data/other-key/fpr.txt | 1 + tests/data/other-key/pub | Bin 0 -> 272 bytes tests/data/other-key/uid | 1 + tests/data/other-key/uid-sig | Bin 0 -> 343 bytes tests/data/second-key/fpr.txt | 1 + tests/data/second-key/pub | 1 + tests/data/second-key/secret | Bin 0 -> 90 bytes tests/data/second-key/uid | 1 + tests/data/second-key/uid-sig | Bin 0 -> 149 bytes tests/keydata.py | 210 +++++++------------------------- 26 files changed, 52 insertions(+), 169 deletions(-) diff --git a/tests/data/first-key/expired-sig b/tests/data/first-key/expired-sig new file mode 100644 index 0000000..eeb19a2 Binary files /dev/null and b/tests/data/first-key/expired-sig differ diff --git a/tests/data/first-key/fpr.txt b/tests/data/first-key/fpr.txt new file mode 100644 index 0000000..6dd99a1 --- /dev/null +++ b/tests/data/first-key/fpr.txt @@ -0,0 +1 @@ +81E12C16BD8DCD60BE180845136880E72A7B1384 diff --git a/tests/data/first-key/private-key-id.txt b/tests/data/first-key/private-key-id.txt new file mode 100644 index 0000000..a35ca0d --- /dev/null +++ b/tests/data/first-key/private-key-id.txt @@ -0,0 +1 @@ +0x136880E72A7B1384 diff --git a/tests/data/first-key/pub b/tests/data/first-key/pub new file mode 100644 index 0000000..3b6bcdb Binary files /dev/null and b/tests/data/first-key/pub differ diff --git a/tests/data/first-key/revocation-sig b/tests/data/first-key/revocation-sig new file mode 100644 index 0000000..af64abd Binary files /dev/null and b/tests/data/first-key/revocation-sig differ diff --git a/tests/data/first-key/secret b/tests/data/first-key/secret new file mode 100644 index 0000000..da2e597 Binary files /dev/null and b/tests/data/first-key/secret differ diff --git a/tests/data/first-key/sub-fpr.txt b/tests/data/first-key/sub-fpr.txt new file mode 100644 index 0000000..e7d3836 --- /dev/null +++ b/tests/data/first-key/sub-fpr.txt @@ -0,0 +1 @@ +7E9DDE3CBE47E437418DF74038B9D2F76CC833CC diff --git a/tests/data/first-key/subkey b/tests/data/first-key/subkey new file mode 100644 index 0000000..ce03610 Binary files /dev/null and b/tests/data/first-key/subkey differ diff --git a/tests/data/first-key/subkey-sig b/tests/data/first-key/subkey-sig new file mode 100644 index 0000000..54d59fe Binary files /dev/null and b/tests/data/first-key/subkey-sig differ diff --git a/tests/data/first-key/uid b/tests/data/first-key/uid new file mode 100644 index 0000000..d73f635 --- /dev/null +++ b/tests/data/first-key/uid @@ -0,0 +1 @@ +�$gemato test key <[email protected]> \ No newline at end of file diff --git a/tests/data/first-key/uid-noemail b/tests/data/first-key/uid-noemail new file mode 100644 index 0000000..0124b18 --- /dev/null +++ b/tests/data/first-key/uid-noemail @@ -0,0 +1 @@ +�gemato test key \ No newline at end of file diff --git a/tests/data/first-key/uid-noemail-sig b/tests/data/first-key/uid-noemail-sig new file mode 100644 index 0000000..f9d6112 Binary files /dev/null and b/tests/data/first-key/uid-noemail-sig differ diff --git a/tests/data/first-key/uid-nonutf b/tests/data/first-key/uid-nonutf new file mode 100644 index 0000000..d6693a6 --- /dev/null +++ b/tests/data/first-key/uid-nonutf @@ -0,0 +1 @@ +�$gemat� test key <[email protected]> \ No newline at end of file diff --git a/tests/data/first-key/uid-nonutf-sig b/tests/data/first-key/uid-nonutf-sig new file mode 100644 index 0000000..cf7b61b Binary files /dev/null and b/tests/data/first-key/uid-nonutf-sig differ diff --git a/tests/data/first-key/uid-sig b/tests/data/first-key/uid-sig new file mode 100644 index 0000000..a3b5308 Binary files /dev/null and b/tests/data/first-key/uid-sig differ diff --git a/tests/data/first-key/unexpire-sig b/tests/data/first-key/unexpire-sig new file mode 100644 index 0000000..6183221 Binary files /dev/null and b/tests/data/first-key/unexpire-sig differ diff --git a/tests/data/other-key/fpr.txt b/tests/data/other-key/fpr.txt new file mode 100644 index 0000000..ed0bed3 --- /dev/null +++ b/tests/data/other-key/fpr.txt @@ -0,0 +1 @@ +4B8349B90C56EE7F054D52871822F5424EB6DA81 diff --git a/tests/data/other-key/pub b/tests/data/other-key/pub new file mode 100644 index 0000000..3a1c560 Binary files /dev/null and b/tests/data/other-key/pub differ diff --git a/tests/data/other-key/uid b/tests/data/other-key/uid new file mode 100644 index 0000000..3b35210 --- /dev/null +++ b/tests/data/other-key/uid @@ -0,0 +1 @@ +�*Other gemato test key <[email protected]> \ No newline at end of file diff --git a/tests/data/other-key/uid-sig b/tests/data/other-key/uid-sig new file mode 100644 index 0000000..abdb1cc Binary files /dev/null and b/tests/data/other-key/uid-sig differ diff --git a/tests/data/second-key/fpr.txt b/tests/data/second-key/fpr.txt new file mode 100644 index 0000000..2894bab --- /dev/null +++ b/tests/data/second-key/fpr.txt @@ -0,0 +1 @@ +758E3E9C8CFB1C687D9B242553708F69B348B4CC diff --git a/tests/data/second-key/pub b/tests/data/second-key/pub new file mode 100644 index 0000000..b20f954 --- /dev/null +++ b/tests/data/second-key/pub @@ -0,0 +1 @@ +�3c�� +�G@C�7�c�u�L��Ħ��(���}�����k`� \ No newline at end of file diff --git a/tests/data/second-key/secret b/tests/data/second-key/secret new file mode 100644 index 0000000..f48123c Binary files /dev/null and b/tests/data/second-key/secret differ diff --git a/tests/data/second-key/uid b/tests/data/second-key/uid new file mode 100644 index 0000000..361dd65 --- /dev/null +++ b/tests/data/second-key/uid @@ -0,0 +1 @@ +�0Second gemato test identity <[email protected]> \ No newline at end of file diff --git a/tests/data/second-key/uid-sig b/tests/data/second-key/uid-sig new file mode 100644 index 0000000..39527fc Binary files /dev/null and b/tests/data/second-key/uid-sig differ diff --git a/tests/keydata.py b/tests/keydata.py index 379306b..46c6e18 100644 --- a/tests/keydata.py +++ b/tests/keydata.py @@ -1,8 +1,11 @@ # gemato: OpenPGP key data for tests -# (c) 2017-2023 Michał Górny +# (c) 2017-2025 Michał Górny # SPDX-License-Identifier: GPL-2.0-or-later -import base64 +from pathlib import Path + + +data_dir = Path(__file__).parent / "data" def break_sig(sig): @@ -10,168 +13,37 @@ def break_sig(sig): return sig[:-1] + b'\x55' -PUBLIC_KEY = base64.b64decode(b''' -mQENBFnwXJMBCACgaTVz+d10TGL9zR920sb0GBFsitAJ5ZFzO4E0cg3SHhwI+reMJQ6LLKmH -owY/E1dl5FBbnJoRMxXP7/eScQ7HlhYj1gMPN5XiS2pkPwVkmJKBDV42DLwoytC+ot0frRTJ -vSdEPCX81BNMgFiBSpkeZfXqb9XmU03bh6mFnrdd4CsHpTQGcsVXHK8QKhaxuqmHTALdpSzK -Cb/r0N/Z3sQExZhfLcBf/9UUVXj44Nwc6ooqZLRizHydxwQdxNu0aOFGEBn9WTi8Slf7MfR/ -pF0dI8rs9w6zMzVEq0lhDPpKFGDveoGfg/+TpvBNXZ7DWH23GM4kID3pk4LLMc24U1PhABEB -AAE= -''') - -SECRET_KEY = base64.b64decode(b''' -lQOYBFnwXJMBCACgaTVz+d10TGL9zR920sb0GBFsitAJ5ZFzO4E0cg3SHhwI+reMJQ6LLKmH -owY/E1dl5FBbnJoRMxXP7/eScQ7HlhYj1gMPN5XiS2pkPwVkmJKBDV42DLwoytC+ot0frRTJ -vSdEPCX81BNMgFiBSpkeZfXqb9XmU03bh6mFnrdd4CsHpTQGcsVXHK8QKhaxuqmHTALdpSzK -Cb/r0N/Z3sQExZhfLcBf/9UUVXj44Nwc6ooqZLRizHydxwQdxNu0aOFGEBn9WTi8Slf7MfR/ -pF0dI8rs9w6zMzVEq0lhDPpKFGDveoGfg/+TpvBNXZ7DWH23GM4kID3pk4LLMc24U1PhABEB -AAEAB/sEgeBMIXW9ClZvvj9HlfWcLz7yF1ZwKMC1BbOENz43LLxp7i2RJQtrErayxnxq8k6u -4ML3SAe2OwK+ZIZG2aFqL0fw+tb8KvotsSPMrE6o/HaFZMxEZYg19zj1WlsvRCxE3OlJDA2f -NJBUQnj6LQ/vYDsQOtM+VRHnfMDhLcwGObZnNPMwtmwkHLKWTgyTwAGnLObSheVutVbdyU6+ -wI3UXwAoilW2e+9pKtwaODjqT7pQ2maVSCY4MPGdLQpbPy61COstdpK/hRdI3liLuwszdlnT -1QhiLsOTHPt4JjYdv2jgDjQobbe/ziKNzFp1eoMHDkbjzAh7oD2FxJcZEYLnBADE5oryW+9G -lyYQe3x74QD5BGTZfvJctvEOgUg8BsoIfXJgBzwnEwOD0XBgJcl5qgt3IBH9Fn3JnYMpw12S -EG2W4N8VCIBxIkDEBABVJfp1Q7HAJ8GSmzENnvt1iaAZPUscaFVpMyuajsCDmyK92NMymGiN -Ab1H5MU4gaFGaEaajwQA0I7gglsehQA2MSyJD0Uj+0b6n9KtiUzjyWEOcITXn4buf4O8Llor -8gU0BWuv3hmIcvNsuJfmgXavVxq2UHtiGaO7T9Vk4Sr8MKS9EYrLNbK41Lyb+tjxk3jYjEyF -qCDNEtWKIZR4ENdRjo5gYKBtuqv1AYYSkflOTeaRlv/kIo8D/jVcyjmO19tNJM8lQE1xCvhp -5maXOoSk1UoUmDprsKA2Em47J83sVivrIwBySB2n9srQynnV+8I47mX7YzYtNQ6uXdL3p/5e -FRW+yfqVCShhSfyQdOmJ978UyQEwY0+0hhK372KatmaL9KEkKSuXgsqshv3XiB9yu3Su1jw5 -y2IQNP0= -''') - -PUBLIC_SUBKEY = base64.b64decode(b''' -uI0EX0UFkQEEALU4+b/dzg0XLBByu3//Oo/E9eA6evMIzV39ktdXLZr2WiSEaK1lXNpInsmE -8oJg/iF6p2X6bz37WmfgFJtq8z4oPvmD1HYk7e5C8/axM71/K8/QO8W7G4lZdbLBGxyJoySb -2Rpj2B/w44AMBDABYmlzyhM3vdF74V08fYYmUWMTABEBAAE= -''') - -UID = base64.b64decode(b''' -tCRnZW1hdG8gdGVzdCBrZXkgPGdlbWF0b0BleGFtcGxlLmNvbT4= -''') - -UID_NOEMAIL = base64.b64decode(b''' -tA9nZW1hdG8gdGVzdCBrZXk= -''') - -UID_NONUTF = base64.b64decode(b''' -tCRnZW1hdPYgdGVzdCBrZXkgPGdlbWF0b0BleGFtcGxlLmNvbT4= -''') - - -PUBLIC_KEY_SIG = base64.b64decode(b''' -iQFOBBMBCAA4FiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAltY2CkCGwMFCwkIBwIGFQoJCAsC -BBYCAwECHgECF4AACgkQE2iA5yp7E4Tgvwf+LO6xyMFvlS8rs0GhpbqeOsj39555QNEviRIL -19Pbie9QTZDpGBdTeqHcjX7j/KEQTsvBTZ4VHMujdJSQLNonjwvwgF+eDvFY+iAo0XiIoKXh -NkeadzAlz4xmrq2YnreuiR57Rr3o7vJ6y/y31dMmvc4u3662adC4RuAPmI/WpjNo8obE84fl -nN9awICBJeoZhpAZqZg323oiA7cbj/g0TTQLLJ6NL/Hmm1I7QAx51Aj+KgB6NqT/9wBkEs3Y -4wy6Ac9DQ5kwyEL1RCSQaPP6H6HX0eP+ebC1JDKahuPsqrB+1mEXyQJiRP4s4FSmJgQA1spg -1hj62rV11dnAPXryUQ== -''') - -PUBLIC_SUBKEY_SIG = base64.b64decode(b''' -iQHrBBgBCAAgFiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAl9FBZECGwIAvwkQE2iA5yp7E4S0 -IAQZAQgAHRYhBH6d3jy+R+Q3QY33QDi50vdsyDPMBQJfRQWRAAoJEDi50vdsyDPMxF4EAJS/ -MW4l9ZRg0JBhapqrE+NFiaym051NXrdWQc34ZVO0oAnStc1U0s7+6+o67tND9X3YDkmPfRvn -4x0FgBcWjfA8T6N/wzJSuTH76JE3voMBX7xebVJ89gP8p9oQx+HNXVtouj6b3cdSTWGHNAb2 -Ji71DnkcDLD2l1P8wKSWCIO+K1sH/3WRcRlkZ9PXrsShDdLo8Cxip2tTPdFe8ahfSpix06ge -PPtGIwdGgeYMdZW+be4l5DEXJauXkGJ/EL4ipLg1TnSMcuMe9dglsnC+yE2kx92xcQLOIq0A -myPXdNtm8yxIQg4PFE6cX2lXuVuAb8EG+P5gG//9Waek02f4sWms+JDFjokk9YdUVp9ZHLrg -a9rtwAMhA6P8udfjcDru8Z52H48hTyVw6NMXQzlIxpH7i3N3vsLwzQqZM8+QfzXKslGcvExe -z1dpOqj/4iGFFn5b7X2G/CUak99fa2t6JiDmrtaYD5VX6UWxBvC6tjS4YPThSr77Rv+IbwjK -xQA+ptoUSGE= -''') - -PUBLIC_KEY_NOEMAIL_SIG = base64.b64decode(b''' -iQFOBBMBCAA4FiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAl9TiloCGwMFCwkIBwIGFQoJCAsC -BBYCAwECHgECF4AACgkQE2iA5yp7E4Qt6QgAkwi+Cmf86G1vdvGjMCrj+4Byal7OuSsPYvnl -DF+0oiPh3SmWhSYAzTJ159EMwIfPzxbzCf/Ya3SaILi8NVtRnII6vP7Q6jaOPcZaywDm4QCc -Z2IwgzyTgrXo+6E7C8Mfq3br9r75rtRwJOkjZHFuKVQgaIJBnYixtMh3NlnWEjmGVyqD1ilT -rgYbe01rf7KwRx4+f0v2M3fGeaNK4QaRFtmimyhGFUhmjCuDkRLwE98EXxd+OWz31JfEr0G0 -gwsGpRw/Q7ledKBXL1AmTU5nURqVloHRPuCFiiRdiy4Dm4NIEKP4opHE7znOJaVDe6b6UON3 -+imPYwGO1/CEaM/0lg== -''') - -PUBLIC_KEY_NONUTF_SIG = base64.b64decode(b''' -iQFOBBMBCAA4FiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAl9XV4kCGwMFCwkIBwIGFQoJCAsC -BBYCAwECHgECF4AACgkQE2iA5yp7E4RdPQf+OGYJs1OkfOUgWfNB71Td9csHnVtCrD4m8Ya8 -x4muq+1X1M/PTM36Vu+3Ov8MSyjldB0sA7+NZbkISvxyk4UBnO9O4yHgb7+isLz+e0N27QlY -CnE7WQIQZVlMRXUUHcMiatvlwDhJplX3qmPRprvn7y2lnlti5MMy3+de2NbpLIzE5kBTvhXy -EwWMXWXGfomFQ0IFLFdOsWnd07LsjsjltqE2E0cy22sYQvLpUQ6dFfwkwu3MeMVmvVrc9etg -gBfCkHxuGTR4boCNUQpcimslbsHuWwvPM9wfQkMmil08RxoxoYPLGfCe2EY8TgPRvaN3SwZ+ -NS7xQ30QJEDehq7U6w== -''') - -EXPIRED_KEY_SIG = base64.b64decode(b''' -iQFUBBMBCAA+AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAFiEEgeEsFr2NzWC+GAhFE2iA -5yp7E4QFAl9HeI4FCQVXJ48ACgkQE2iA5yp7E4QshQf/QsPfHYBth3BMx7MGKHmrqegTze6y -lIhT9u7zxLLSHfq0y6roWo6FkexH72HiVKnsS2jhNeYA8pTOwOQlU80hbBgrQpEFXa0Klsxh -tHVaAvmRokzFVCmTZc29wiWEqtZgYhi/xYyVoHDVMr8d7UAwXnnbjed1Ndfdf1rxqNg6uw+C -9wzi2zABEBcD22cPKY+wS3oJ5MDiJgbNSiMN4P53+c69skdDe6Z/E/DXlHCEIp3viP91ASkj -LKmuqr6fiMmlC4WjULT4Cy/GD3S/1ZmuKPcE8Of2gvCuUqkCDOYJjxkzbVTrIpkcvoVW4d9j -Hz68LP0g/oXuRzmcQG6GMZ4CQg== -''') - -REVOCATION_SIG = base64.b64decode(b''' -iQE2BCABCAAgFiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAltY4FACHQIACgkQE2iA5yp7E4Qt -cAf9GcJV3dGybNGpw+gz+ZYdvcWpdvIKaQar9s74W9tdW2Vn9GlWYqUAid/xOCPeC8Ptemhe -zlVCV/jmQBrfM0myb6tSFsFqQq2cNmfISsYt7xphSvykXk05+l0KcSr9aYdV8SQUKomLp514 -hmDhB/PzIv9gWq/tgblPHMxf9ZTIVkn9k2xEv1qOaJCF/BzkgcatDR21BiscX6psQtuEIDSf -qfgbH4Vg3E1oqtoIsMqjr1nroOarPhXZ35YblNzN9SGmEe1PwIY7um3jAPbJMHAp5pgwINbZ -DUXiYXhSEIvfp5xD4CXIju87B5hYsWLu4/9sNyhHLPmsLTMt69F6f1FTDA== -''') - -OTHER_PUBLIC_KEY = base64.b64decode(b''' -mQENBFtYfqUBCAC5OuNuaZOMwyegRtKFzzLlwsJaO+q1L5EN8tVHdzRUwBmwKgC8PDNiM7UG -OhyN9Zasbeqvy1oF22nHIUgrDRkiB9m1k6E0FPvD2VzN1O7QiuKCjP8WaYhVRGYOXyCaaSPe -gqyidqPJz6AMDaZ38EWaZwGgJXmxzewUINPbepvyboTMZy5L9QiyfmKbsaW9BhW3qkKyIEnV -+k/S/NQdKcVX5xEXriDt0E5r3NNMC0pxIhwpchLPMnHohMKBUYn3BNA9CyN0V/lRYJFJUrh9 -MnGkDkdYPSw9aYhvWEGOYnhW1bCl3ZLW6n2xVBpo5tK6PhJ+3lBCbzU3Lo6CtEbimkTxABEB -AAE= -''') - -OTHER_PUBLIC_KEY_UID = base64.b64decode(b''' -tCpPdGhlciBnZW1hdG8gdGVzdCBrZXkgPGdlbWF0b0BleGFtcGxlLmNvbT4= -''') - -OTHER_PUBLIC_KEY_SIG = base64.b64decode(b''' -iQFUBBMBCAA+FiEES4NJuQxW7n8FTVKHGCL1Qk622oEFAltYfqUCGwMFCQPCZwAFCwkIBwIG -FQoJCAsCBBYCAwECHgECF4AACgkQGCL1Qk622oGXKQf/fs5OriRSA3pj873WH3kp+7IP5ITn -mswLJkvZOk2aU35j2s7pZkgbKMRZbVxsHhU10q9/LD9HggGod7X2sQSD+B+ixtlmXhyQ4mAz -Ta0qzHp22mnMVr2VmaGRQGH7IzAXrlD1BH7EVfbSVZqdSrKRcXwjkAxlsPzLTQ9onhgLkk77 -J3y0erP39ou/64ph2QZ3TglBXJc1gCsntV4Z8P+LGeCiop0rAgXHTe0Fdf8APOoI4qwfK0gs -i9h1aPPupEv+XU+/iQ4QbTsKLYK+XnCAyapgiW2vjYbnRQepmB8zyfvs4W7zH3i7Ah+wupSt -idKDxfLtKvHnpiX/9mfMxre1zA== -''') - -UNEXPIRE_SIG = base64.b64decode(b''' -iQFOBBMBCAA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAFiEEgeEsFr2NzWC+GAhFE2iA -5yp7E4QFAl9Hj+wACgkQE2iA5yp7E4Rwcwf+On5SUfpLVZXrDkE9ETSUsGJSvfQxUVbO+qql -Zm/MPSTWnadQbgcF2/3xRq0NoQJeK74d6yxqVRWIOPxLB+S9dplxgxZ3IdrxepomNKtX7e9o -osz/Xrbsz042rfFmthW9gFsrxdWZTi/Iny1mp11JL0RCQdG7qDSffgdRtqla40CXp72GLwX/ -Yp/6PW+SlL5drIOi45vfRbRvGMiirQVolbb4FzUL5fYROrp6Rt/UCBTpK1xnoTbOtzyTLSq2 -Wq7iapS3DqitGoDRtKyPXeSFDpWsgcAYzghFMI265fqeBebTeKtz7mtYUw4DrBlYXSBPpRte -T1oNst52zSr1Wzuc9w== -''') - -SECOND_SECRET_KEY = base64.b64decode(b""" -lFgEY8wUwRYJKwYBBAHaRw8BAQdAQ9Y36mOHda8FHRNM/sXEpvzGKJiC733H2OgQtvVrYNsA -AQCS5w1GsElAdtNFCbpDq5LWp8hNq2jVSH3foz3+CYo1+hCV -""") - -SECOND_PUBLIC_KEY = base64.b64decode(b""" -mDMEY8wUwRYJKwYBBAHaRw8BAQdAQ9Y36mOHda8FHRNM/sXEpvzGKJiC733H2OgQtvVrYNs= -""") - -SECOND_UID = base64.b64decode(b""" -tDBTZWNvbmQgZ2VtYXRvIHRlc3QgaWRlbnRpdHkgPHNlY29uZEBleGFtcGxlLmNvbT4= -""") - -SECOND_KEY_SIG = base64.b64decode(b""" -iJMEExYKADsWIQR1jj6cjPscaH2bJCVTcI9ps0i0zAUCY8wUwQIbAwULCQgHAgIiAgYVCgkI -CwIEFgIDAQIeBwIXgAAKCRBTcI9ps0i0zEWCAQDEpFQFHMubpdSIdtrFPztMM64Xg4Vkdk+k -30HoYvFwKwD/aNSymTkZS4R8Ld0mxEJhFml7EAPUf//LjQYEIbe83gQ= -""") +def _(path: str) -> bytes: + return data_dir.joinpath(path).read_bytes() + + +def T(path: str) -> str: + return data_dir.joinpath(path).read_text().strip() + + +PUBLIC_KEY = _("first-key/pub") +SECRET_KEY = _("first-key/secret") +PUBLIC_SUBKEY = _("first-key/subkey") +UID = _("first-key/uid") +UID_NOEMAIL = _("first-key/uid-noemail") +UID_NONUTF = _("first-key/uid-nonutf") + +PUBLIC_KEY_SIG = _("first-key/uid-sig") +PUBLIC_KEY_NOEMAIL_SIG = _("first-key/uid-noemail-sig") +PUBLIC_KEY_NONUTF_SIG = _("first-key/uid-nonutf-sig") +PUBLIC_SUBKEY_SIG = _("first-key/subkey-sig") +EXPIRED_KEY_SIG = _("first-key/expired-sig") +REVOCATION_SIG = _("first-key/revocation-sig") +UNEXPIRE_SIG = _("first-key/unexpire-sig") + +OTHER_PUBLIC_KEY = _("other-key/pub") +OTHER_PUBLIC_KEY_UID = _("other-key/uid") +OTHER_PUBLIC_KEY_SIG = _("other-key/uid-sig") + +SECOND_PUBLIC_KEY = _("second-key/pub") +SECOND_SECRET_KEY = _("second-key/secret") +SECOND_UID = _("second-key/uid") +SECOND_KEY_SIG = _("second-key/uid-sig") VALID_PUBLIC_KEY = PUBLIC_KEY + UID + PUBLIC_KEY_SIG EXPIRED_PUBLIC_KEY = PUBLIC_KEY + UID + EXPIRED_KEY_SIG @@ -180,20 +52,21 @@ OLD_UNEXPIRE_PUBLIC_KEY = PUBLIC_KEY + UID + PUBLIC_KEY_SIG UNEXPIRE_PUBLIC_KEY = PUBLIC_KEY + UID + UNEXPIRE_SIG PRIVATE_KEY = SECRET_KEY + UID + PUBLIC_KEY_SIG -PRIVATE_KEY_ID = b'0x136880E72A7B1384' +PRIVATE_KEY_ID = T("first-key/private-key-id.txt") -KEY_FINGERPRINT = '81E12C16BD8DCD60BE180845136880E72A7B1384' +KEY_FINGERPRINT = T("first-key/fpr.txt") +SUBKEY_FINGERPRINT = T("first-key/sub-fpr.txt") +OTHER_KEY_FINGERPRINT = T("other-key/fpr.txt") +SECOND_KEY_FINGERPRINT = T("second-key/fpr.txt") OTHER_VALID_PUBLIC_KEY = (OTHER_PUBLIC_KEY + OTHER_PUBLIC_KEY_UID + OTHER_PUBLIC_KEY_SIG) -OTHER_KEY_FINGERPRINT = '4B8349B90C56EE7F054D52871822F5424EB6DA81' VALID_KEY_NOEMAIL = PUBLIC_KEY + UID_NOEMAIL + PUBLIC_KEY_NOEMAIL_SIG VALID_KEY_NONUTF = PUBLIC_KEY + UID_NONUTF + PUBLIC_KEY_NONUTF_SIG VALID_KEY_SUBKEY = (PUBLIC_KEY + UID + PUBLIC_KEY_SIG + PUBLIC_SUBKEY + PUBLIC_SUBKEY_SIG) -SUBKEY_FINGERPRINT = '7E9DDE3CBE47E437418DF74038B9D2F76CC833CC' FORGED_PUBLIC_KEY = PUBLIC_KEY + UID + break_sig(PUBLIC_KEY_SIG) FORGED_SUBKEY = (PUBLIC_KEY + UID + PUBLIC_KEY_SIG + PUBLIC_SUBKEY + @@ -207,7 +80,6 @@ UNSIGNED_SUBKEY = PUBLIC_KEY + UID + PUBLIC_KEY_SIG + PUBLIC_SUBKEY COMBINED_PUBLIC_KEYS = OTHER_VALID_PUBLIC_KEY + VALID_PUBLIC_KEY SECOND_VALID_PUBLIC_KEY = SECOND_PUBLIC_KEY + SECOND_UID + SECOND_KEY_SIG -SECOND_KEY_FINGERPRINT = "758E3E9C8CFB1C687D9B242553708F69B348B4CC" TWO_SIGNATURE_PUBLIC_KEYS = VALID_PUBLIC_KEY + SECOND_VALID_PUBLIC_KEY TWO_KEYS_ONE_EXPIRED = EXPIRED_PUBLIC_KEY + SECOND_VALID_PUBLIC_KEY
