diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 03:32:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 03:32:49 +0000 |
commit | 8053187731ae8e3eb368d8360989cf5fd6eed9f7 (patch) | |
tree | 32bada84ff5d7460cdf3934fcbdbe770d6afe4cd /src/tests/data/test_key_edge_cases | |
parent | Initial commit. (diff) | |
download | rnp-8053187731ae8e3eb368d8360989cf5fd6eed9f7.tar.xz rnp-8053187731ae8e3eb368d8360989cf5fd6eed9f7.zip |
Adding upstream version 0.17.0.upstream/0.17.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
62 files changed, 886 insertions, 0 deletions
diff --git a/src/tests/data/test_key_edge_cases/alice-2-keys-same-grip.pgp b/src/tests/data/test_key_edge_cases/alice-2-keys-same-grip.pgp Binary files differnew file mode 100644 index 0000000..6729aed --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-2-keys-same-grip.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-2-subs-same-grip.pgp b/src/tests/data/test_key_edge_cases/alice-2-subs-same-grip.pgp Binary files differnew file mode 100644 index 0000000..1d312c8 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-2-subs-same-grip.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-3-uids-primary-boris.pgp b/src/tests/data/test_key_edge_cases/alice-3-uids-primary-boris.pgp Binary files differnew file mode 100644 index 0000000..b8bfcbe --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-3-uids-primary-boris.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-3-uids-primary-expiring.pgp b/src/tests/data/test_key_edge_cases/alice-3-uids-primary-expiring.pgp Binary files differnew file mode 100644 index 0000000..887f4ad --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-3-uids-primary-expiring.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-3-uids.pgp b/src/tests/data/test_key_edge_cases/alice-3-uids.pgp Binary files differnew file mode 100644 index 0000000..7aed289 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-3-uids.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-rev-no-reason.pgp b/src/tests/data/test_key_edge_cases/alice-rev-no-reason.pgp Binary files differnew file mode 100644 index 0000000..c166aa8 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-rev-no-reason.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-s2k-101-1-subs.pgp b/src/tests/data/test_key_edge_cases/alice-s2k-101-1-subs.pgp Binary files differnew file mode 100644 index 0000000..f01b8f2 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-s2k-101-1-subs.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-s2k-101-2-card-len.pgp b/src/tests/data/test_key_edge_cases/alice-s2k-101-2-card-len.pgp Binary files differnew file mode 100644 index 0000000..93e7b09 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-s2k-101-2-card-len.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-s2k-101-2-card.pgp b/src/tests/data/test_key_edge_cases/alice-s2k-101-2-card.pgp Binary files differnew file mode 100644 index 0000000..ce751ef --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-s2k-101-2-card.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-s2k-101-3.pgp b/src/tests/data/test_key_edge_cases/alice-s2k-101-3.pgp Binary files differnew file mode 100644 index 0000000..6510447 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-s2k-101-3.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-s2k-101-no-sign-sub.pgp b/src/tests/data/test_key_edge_cases/alice-s2k-101-no-sign-sub.pgp Binary files differnew file mode 100644 index 0000000..b6872a0 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-s2k-101-no-sign-sub.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-s2k-101-unknown.pgp b/src/tests/data/test_key_edge_cases/alice-s2k-101-unknown.pgp Binary files differnew file mode 100644 index 0000000..8bca1b0 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-s2k-101-unknown.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-sig-misc-values.pgp b/src/tests/data/test_key_edge_cases/alice-sig-misc-values.pgp Binary files differnew file mode 100644 index 0000000..3be5047 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-sig-misc-values.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-sub-rev-no-reason.pgp b/src/tests/data/test_key_edge_cases/alice-sub-rev-no-reason.pgp Binary files differnew file mode 100644 index 0000000..92743b9 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-sub-rev-no-reason.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-sub-sig-fp.pgp b/src/tests/data/test_key_edge_cases/alice-sub-sig-fp.pgp Binary files differnew file mode 100644 index 0000000..739daed --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-sub-sig-fp.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-sub-sig-keyid.pgp b/src/tests/data/test_key_edge_cases/alice-sub-sig-keyid.pgp Binary files differnew file mode 100644 index 0000000..09f4e82 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-sub-sig-keyid.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-uid-binding.pgp b/src/tests/data/test_key_edge_cases/alice-uid-binding.pgp Binary files differnew file mode 100644 index 0000000..e083ff4 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-uid-binding.pgp diff --git a/src/tests/data/test_key_edge_cases/alice-wrong-mpi-bit-count.pgp b/src/tests/data/test_key_edge_cases/alice-wrong-mpi-bit-count.pgp Binary files differnew file mode 100644 index 0000000..399fcb2 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/alice-wrong-mpi-bit-count.pgp diff --git a/src/tests/data/test_key_edge_cases/key-25519-non-tweaked-sec-prot.asc b/src/tests/data/test_key_edge_cases/key-25519-non-tweaked-sec-prot.asc new file mode 100644 index 0000000..1dddea2 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-25519-non-tweaked-sec-prot.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +xYYEYUh6kxYJKwYBBAHaRw8BAQdAko/IzElBsrhU/2QuryqTfQIzWq/EeTwfe3Wjf7h8Go/+CQMI +HjyNcbEWswD9/h842EF8C4xGQz84EQzsW0YHOa1NkDqzVbY0WKctc2oxaHAM+7gN6yoIH9jl9oJH +1Ceec1sUdExyrwh5fxdjucSFz6jkX80XZWRkc2EtMjU1MTktbm9uLXR3ZWFrZWTCiwQTFggAMxYh +BN3g7lOcAX0r0/YEpTF2/BSGqiUoBQJhSHqTAhsDBQsJCAcCBhUICQoLAgUWAgMBAAAKCRAxdvwU +hqolKOZjAQDu0eL2RSWpt+UWBZ2D336eayv1KayhUYXi6qd2ROjspQD/dSy58x+P9zZVDWa+vWyR +6dAyahooGLQsmgbIFMRtCwrHiwRhSHqTEgorBgEEAZdVAQUBAQdAanGHiDbqQ2cjJ69cxior6tHg +bMEEpnQKs3Yv0pKb+HsDAQgH/gkDCDYHyCxU90o5/HC1kV5DtPawPtr38yk4D8r+oVUw7+jIcg2o +PCZbEsb2xBNEHDRc0aUX7htMuVonyg699WGl92WgCU6rgT70EdeKQjKik/bCeAQYFggAIBYhBN3g +7lOcAX0r0/YEpTF2/BSGqiUoBQJhSHqTAhsMAAoJEDF2/BSGqiUoDPUBAIzClKCukREdWGtAxvH1 +JjUqYFVazFNc8fGoFMaWrRGbAP99B7YSNM/XQ3jrqmYRfdp+au69PAGWVtT4zI9CV67WDw== +=Y4FB +-----END PGP PRIVATE KEY BLOCK----- diff --git a/src/tests/data/test_key_edge_cases/key-25519-non-tweaked-sec.asc b/src/tests/data/test_key_edge_cases/key-25519-non-tweaked-sec.asc new file mode 100644 index 0000000..ad4823d --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-25519-non-tweaked-sec.asc @@ -0,0 +1,13 @@ +-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+xVgEYUh6kxYJKwYBBAHaRw8BAQdAko/IzElBsrhU/2QuryqTfQIzWq/EeTwfe3Wjf7h8Go8AAP9V
+pLY7sMkGlT9OporbTWHC4bxavj60oTVDLuB2CSINKA+pzRdlZGRzYS0yNTUxOS1ub24tdHdlYWtl
+ZMKLBBMWCAAzFiEE3eDuU5wBfSvT9gSlMXb8FIaqJSgFAmFIepMCGwMFCwkIBwIGFQgJCgsCBRYC
+AwEAAAoJEDF2/BSGqiUo5mMBAO7R4vZFJam35RYFnYPffp5rK/UprKFRheLqp3ZE6OylAP91LLnz
+H4/3NlUNZr69bJHp0DJqGigYtCyaBsgUxG0LCsddBGFIepMSCisGAQQBl1UBBQEBB0BqcYeINupD
+ZyMnr1zGKivq0eBswQSmdAqzdi/Skpv4ewMBCAcAAQCXobu+cYjidL6kUffBZu+jzS/GrF3sWw1k
+OrvZ5Jr6rBPZwngEGBYIACAWIQTd4O5TnAF9K9P2BKUxdvwUhqolKAUCYUh6kwIbDAAKCRAxdvwU
+hqolKAz1AQCMwpSgrpERHVhrQMbx9SY1KmBVWsxTXPHxqBTGlq0RmwD/fQe2EjTP10N466pmEX3a
+fmruvTwBllbU+MyPQleu1g8=
+=o9U3
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/tests/data/test_key_edge_cases/key-25519-non-tweaked.asc b/src/tests/data/test_key_edge_cases/key-25519-non-tweaked.asc new file mode 100644 index 0000000..511d00a --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-25519-non-tweaked.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+xjMEYUh6kxYJKwYBBAHaRw8BAQdAko/IzElBsrhU/2QuryqTfQIzWq/EeTwfe3Wjf7h8Go/NF2Vk
+ZHNhLTI1NTE5LW5vbi10d2Vha2VkwosEExYIADMWIQTd4O5TnAF9K9P2BKUxdvwUhqolKAUCYUh6
+kwIbAwULCQgHAgYVCAkKCwIFFgIDAQAACgkQMXb8FIaqJSjmYwEA7tHi9kUlqbflFgWdg99+nmsr
+9SmsoVGF4uqndkTo7KUA/3UsufMfj/c2VQ1mvr1skenQMmoaKBi0LJoGyBTEbQsKzjgEYUh6kxIK
+KwYBBAGXVQEFAQEHQGpxh4g26kNnIyevXMYqK+rR4GzBBKZ0CrN2L9KSm/h7AwEIB8J4BBgWCAAg
+FiEE3eDuU5wBfSvT9gSlMXb8FIaqJSgFAmFIepMCGwwACgkQMXb8FIaqJSgM9QEAjMKUoK6RER1Y
+a0DG8fUmNSpgVVrMU1zx8agUxpatEZsA/30HthI0z9dDeOuqZhF92n5q7r08AZZW1PjMj0JXrtYP
+=wnec
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/tests/data/test_key_edge_cases/key-25519-tweaked-sec.asc b/src/tests/data/test_key_edge_cases/key-25519-tweaked-sec.asc new file mode 100644 index 0000000..c2ea018 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-25519-tweaked-sec.asc @@ -0,0 +1,13 @@ +-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+xVgEYUh6kxYJKwYBBAHaRw8BAQdAko/IzElBsrhU/2QuryqTfQIzWq/EeTwfe3Wjf7h8Go8AAP9V
+pLY7sMkGlT9OporbTWHC4bxavj60oTVDLuB2CSINKA+pzRdlZGRzYS0yNTUxOS1ub24tdHdlYWtl
+ZMKLBBMWCAAzFiEE3eDuU5wBfSvT9gSlMXb8FIaqJSgFAmFIepMCGwMFCwkIBwIGFQgJCgsCBRYC
+AwEAAAoJEDF2/BSGqiUo5mMBAO7R4vZFJam35RYFnYPffp5rK/UprKFRheLqp3ZE6OylAP91LLnz
+H4/3NlUNZr69bJHp0DJqGigYtCyaBsgUxG0LCsddBGFIepMSCisGAQQBl1UBBQEBB0BqcYeINupD
+ZyMnr1zGKivq0eBswQSmdAqzdi/Skpv4ewMBCAcAAP9Xobu+cYjidL6kUffBZu+jzS/GrF3sWw1k
+OrvZ5Jr6qBSTwngEGBYIACAWIQTd4O5TnAF9K9P2BKUxdvwUhqolKAUCYUh6kwIbDAAKCRAxdvwU
+hqolKAz1AQCMwpSgrpERHVhrQMbx9SY1KmBVWsxTXPHxqBTGlq0RmwD/fQe2EjTP10N466pmEX3a
+fmruvTwBllbU+MyPQleu1g8=
+=uGwR
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/tests/data/test_key_edge_cases/key-25519-tweaked-wrong-crc.asc b/src/tests/data/test_key_edge_cases/key-25519-tweaked-wrong-crc.asc new file mode 100644 index 0000000..29bb4d9 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-25519-tweaked-wrong-crc.asc @@ -0,0 +1,13 @@ +-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+xVgEYUh6kxYJKwYBBAHaRw8BAQdAko/IzElBsrhU/2QuryqTfQIzWq/EeTwfe3Wjf7h8Go8AAP9V
+pLY7sMkGlT9OporbTWHC4bxavj60oTVDLuB2CSINKA+pzRdlZGRzYS0yNTUxOS1ub24tdHdlYWtl
+ZMKLBBMWCAAzFiEE3eDuU5wBfSvT9gSlMXb8FIaqJSgFAmFIepMCGwMFCwkIBwIGFQgJCgsCBRYC
+AwEAAAoJEDF2/BSGqiUo5mMBAO7R4vZFJam35RYFnYPffp5rK/UprKFRheLqp3ZE6OylAP91LLnz
+H4/3NlUNZr69bJHp0DJqGigYtCyaBsgUxG0LCsddBGFIepMSCisGAQQBl1UBBQEBB0BqcYeINupD
+ZyMnr1zGKivq0eBswQSmdAqzdi/Skpv4ewMBCAcAAP5Xobu+cYjidL6kUffBZu+jzS/GrF3sWw1k
+OrvZ5Jr6qBPZwngEGBYIACAWIQTd4O5TnAF9K9P2BKUxdvwUhqolKAUCYUh6kwIbDAAKCRAxdvwU
+hqolKAz1AQCMwpSgrpERHVhrQMbx9SY1KmBVWsxTXPHxqBTGlq0RmwD/fQe2EjTP10N466pmEX3a
+fmruvTwBllbU+MyPQleu1g8=
+=Ys8t
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/tests/data/test_key_edge_cases/key-binding-hash-alg.asc b/src/tests/data/test_key_edge_cases/key-binding-hash-alg.asc new file mode 100644 index 0000000..bfb007a --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-binding-hash-alg.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xk8EXyLNuRMFK4EEAAoCAwQsMUQw2qWcpy7qVxRGe9uj1l3OY3JCHxRbeEqyWZURqX4FSlLmT6OE +FrZm1sLzyLmgsUg+JKqwfnQC746zBlJ4zQtlY2RzYV9lY2RzYcKLBBMTCAAzFiEEWBgjYO/P/GYn +Sxwn+Bowql3L0B4FAl8izbkCGwMFCwkIBwIGFQgJCgsCBRYCAwEAAAoJEPgaMKpdy9AeyFMA/2hG +JUCM2Wvo4UlD3aIZ4uC6gCrfw+fSOTHGYfzfXjXEAP9L9A4Ta4unjDz4HxAtMqcIjpJWUSckgRdT +u8MgoyEoe85SBF8izbkTCCqGSM49AwEHAgMEINvmlOrfx5zNrhwBtMOeQkc/vmhJKeQ9Mi2DXpES +X+K/a5zMUZTpXwN9WIS/FJysIy8iFLGlxWaHY4c3XoP3XMLAGAQYEwgAIBYhBFgYI2Dvz/xmJ0sc +J/gaMKpdy9AeBQJfIs25AhsDAGpfIAQZEwkABgUCXyLNuQAKCRDdcWUWpySXEVmOAQDVTiGo91Un +EIMemRslEO1ka9ysSQTwcK+LFHHYNb0+PwD+IVBZ3wqYf3q5GCfCLT0tNyJfHK+mbehuZYH8YDZp +2XMJEPgaMKpdy9Ae9TkA/3lYN4nl2QFyThuXaUXxry/0kV2vmhJVjcWWnpWX03+7AP965TSB1f+S ++l+TSKAYnz5mFrzus97S4v44oLxq/chJqQ== +=r6q/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/tests/data/test_key_edge_cases/key-create-expiry-32bit.asc b/src/tests/data/test_key_edge_cases/key-create-expiry-32bit.asc new file mode 100644 index 0000000..92bfc25 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-create-expiry-32bit.asc @@ -0,0 +1,12 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xo0EYIlOsQEEAMGUTPiyg95XQjTIc7+m4zkGOwo41J+IcTZcQrANum6Gj47HPvkzxu4b9DDz96Z/ +p2mpKgnUivNxcS73HEMEAta/8q1qlmeYYHSuzCkENweBJd6bkRwP8E5AyUMRWhoYl8QbX6vj6jul +USEm1V0wrM4e1Fpvg3xsQ8Y1YsLW6N4vABEBAAHNN1JTQSAoRW5jcnlwdCBvciBTaWduKSAxMDI0 +LWJpdCBrZXkgPG5pY2tvbGF5QGxvY2FsaG9zdD7CwA8EEwEIADkWIQRqkd4uhU/ORoUurrFg6snd +8NmsnwUCYIlOsQUJn3axTgIbAwULCQgHAgYVCAkKCwIFFgIDAQAACgkQYOrJ3fDZrJ8e8gP7BApp +lPY5ayOHFyr873uP6adcqnAc5yGNiIYr7Pe8PyO/JIBWceDGnSMJyFmURvmlKAyqkzb29xGt4ahh +dYgFQUxJWTOWIMhMeX10MmlvIwavArMlyj2jQI9kvAZXtTXX0T0WZWH44W0y0VUlpd4SmqMz/Vr2 +TA3IBfb3TgTNNXM= +=TgXI +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/tests/data/test_key_edge_cases/key-critical-notations-sec.pgp b/src/tests/data/test_key_edge_cases/key-critical-notations-sec.pgp Binary files differnew file mode 100644 index 0000000..828e807 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-critical-notations-sec.pgp diff --git a/src/tests/data/test_key_edge_cases/key-critical-notations.pgp b/src/tests/data/test_key_edge_cases/key-critical-notations.pgp Binary files differnew file mode 100644 index 0000000..a7a278d --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-critical-notations.pgp diff --git a/src/tests/data/test_key_edge_cases/key-eddsa-small-x-pub.asc b/src/tests/data/test_key_edge_cases/key-eddsa-small-x-pub.asc new file mode 100644 index 0000000..e7c4915 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-eddsa-small-x-pub.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+xjMEYVWOgxYJKwYBBAHaRw8BAQdAzJddic9PzthiDPOayDZvvVFl8Af6uqMkv04Hz8X8wMXNDWVk
+ZHNhX3NtYWxsX3jCiwQTFggAMxYhBCT7Uh0s1zK+6oyVgHvFW5vc424YBQJhVY6DAhsDBQsJCAcC
+BhUICQoLAgUWAgMBAAAKCRB7xVub3ONuGH/eAQCHhZTc7ySEITCaIDf31aZlQTdNnAuJFDVg9fzO
+zvoBkAD/dY5XG4PRpEjLSh1/VW0WGLgAcApD2g97VxTZdvFaWwXOOARhVY6DEgorBgEEAZdVAQUB
+AQdAOZW14cWUkEPNLMZzW1sUGoyAqLPKZ336iGxcFEdkJGEDAQgHwngEGBYIACAWIQQk+1IdLNcy
+vuqMlYB7xVub3ONuGAUCYVWOgwIbDAAKCRB7xVub3ONuGJ8rAQCyeCuKXRNVyu0J49xALC7nEWRS
+5osENDRRxLyein0iOAEAlzK6LHkWgDSE1p6z+5G6CiuUZO8Y0rsirPhQiEGqAQE=
+=oEKi
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/tests/data/test_key_edge_cases/key-eddsa-small-x-sec.asc b/src/tests/data/test_key_edge_cases/key-eddsa-small-x-sec.asc new file mode 100644 index 0000000..07fc842 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-eddsa-small-x-sec.asc @@ -0,0 +1,14 @@ +-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+xYUEYVWOgxYJKwYBBAHaRw8BAQdAzJddic9PzthiDPOayDZvvVFl8Af6uqMkv04Hz8X8wMX+CQMI
+Yncs4llakFX/JaevHHflKYZ8qMxss6QihgBZUoRTfGULv4B9e/vGuSgRHw1lP3KwPYWPxjfq63d9
+gRtQq6JQuYS4KRmLAb/lftwJR3IezQ1lZGRzYV9zbWFsbF94wosEExYIADMWIQQk+1IdLNcyvuqM
+lYB7xVub3ONuGAUCYVWOgwIbAwULCQgHAgYVCAkKCwIFFgIDAQAACgkQe8Vbm9zjbhh/3gEAh4WU
+3O8khCEwmiA399WmZUE3TZwLiRQ1YPX8zs76AZAA/3WOVxuD0aRIy0odf1VtFhi4AHAKQ9oPe1cU
+2XbxWlsFx4sEYVWOgxIKKwYBBAGXVQEFAQEHQDmVteHFlJBDzSzGc1tbFBqMgKizymd9+ohsXBRH
+ZCRhAwEIB/4JAwjMjGN1bB1esf/tvNBzXzuctSz1WHPkMxwAYT1xe3hsxc9rncR2SpURFXWsQLeg
+7lHW/WvPSVo3bXWIQ27shrpbkhGQ+5E2OaXSmgCByEaawngEGBYIACAWIQQk+1IdLNcyvuqMlYB7
+xVub3ONuGAUCYVWOgwIbDAAKCRB7xVub3ONuGJ8rAQCyeCuKXRNVyu0J49xALC7nEWRS5osENDRR
+xLyein0iOAEAlzK6LHkWgDSE1p6z+5G6CiuUZO8Y0rsirPhQiEGqAQE=
+=65Pa
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/tests/data/test_key_edge_cases/key-eg-4096-pub.pgp b/src/tests/data/test_key_edge_cases/key-eg-4096-pub.pgp Binary files differnew file mode 100644 index 0000000..c7fd4ca --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-eg-4096-pub.pgp diff --git a/src/tests/data/test_key_edge_cases/key-eg-4096-sec.pgp b/src/tests/data/test_key_edge_cases/key-eg-4096-sec.pgp Binary files differnew file mode 100644 index 0000000..cf31e20 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-eg-4096-sec.pgp diff --git a/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-pub.pgp b/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-pub.pgp Binary files differnew file mode 100644 index 0000000..eec55fb --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-pub.pgp diff --git a/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-sec-enc.pgp b/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-sec-enc.pgp Binary files differnew file mode 100644 index 0000000..690405e --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-sec-enc.pgp diff --git a/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-sec.pgp b/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-sec.pgp Binary files differnew file mode 100644 index 0000000..b002930 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-eg-small-subgroup-sec.pgp diff --git a/src/tests/data/test_key_edge_cases/key-empty-packets.pgp b/src/tests/data/test_key_edge_cases/key-empty-packets.pgp Binary files differnew file mode 100644 index 0000000..4f4e84e --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-empty-packets.pgp diff --git a/src/tests/data/test_key_edge_cases/key-empty-packets.txt b/src/tests/data/test_key_edge_cases/key-empty-packets.txt new file mode 100644 index 0000000..ee688b8 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-empty-packets.txt @@ -0,0 +1,7 @@ +:off 0: packet header 0x9800 (tag 6, len 0) +:off 2: packet header 0xb400 (tag 13, len 0) +UserID packet + id: +:off 4: packet header 0x8800 (tag 2, len 0) +Signature packet + failed to parse diff --git a/src/tests/data/test_key_edge_cases/key-empty-uid-raw.txt b/src/tests/data/test_key_edge_cases/key-empty-uid-raw.txt new file mode 100644 index 0000000..0d213cf --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-empty-uid-raw.txt @@ -0,0 +1,91 @@ +:off 0: packet header 0x9833 (tag 6, len 51) +:off 2: packet contents (51 bytes) + 00000 | 04 5e c6 91 74 16 09 2b 06 01 04 01 da 47 0f 01 | .^..t..+.....G.. + 00016 | 01 07 40 6b 11 04 c2 03 24 19 05 23 f9 b0 35 2b | ..@k....$..#..5+ + 00032 | 1d 0a 94 82 d7 96 30 77 3b 78 7e 5a 53 61 f3 c6 | ......0w;x~ZSa.. + 00048 | 84 56 e1 | .V. + +Public key packet + version: 4 + creation time: 1590071668 (??? ??? ?? ??:??:?? ????) + public key algorithm: 22 (EdDSA) + public key material: + ecc p: 263 bits + ecc curve: Ed25519 + keyid: 0xc972affd358bf887 +:off 53: packet header 0xb400 (tag 13, len 0) +:off 55: packet contents (first 146 bytes) + 00000 | 88 90 04 13 16 08 00 38 16 21 04 75 3d 5b 94 7e | .......8.!.u=[.~ + 00016 | 9a 2b 2e 01 14 7c 1f c9 72 af fd 35 8b f8 87 05 | .+...|..r..5.... + 00032 | 02 5e c6 91 74 02 1b 03 05 0b 09 08 07 02 06 15 | .^..t........... + 00048 | 0a 09 08 0b 02 04 16 02 03 01 02 1e 01 02 17 80 | ................ + 00064 | 00 0a 09 10 c9 72 af fd 35 8b f8 87 de c3 00 fa | .....r..5....... + 00080 | 02 b2 e8 10 20 19 c4 f2 60 b0 d1 6b 5e 50 83 21 | .... ...`..k^P.! + 00096 | b8 3a a4 cd c0 39 18 fa 66 23 29 e0 2b 09 90 fe | .:...9..f#).+... + 00112 | 01 00 cd 1f a9 5e 59 be ba c9 35 ce 45 76 2b 3a | .....^Y...5.Ev+: + 00128 | 4e 8c b8 7a 9f 06 77 15 dd e3 c2 d9 da e7 4e 5c | N..z..w.......N\ + 00144 | b2 0f | .. + +UserID packet + id: +:off 55: packet header 0x8890 (tag 2, len 144) +:off 57: packet contents (144 bytes) + 00000 | 04 13 16 08 00 38 16 21 04 75 3d 5b 94 7e 9a 2b | .....8.!.u=[.~.+ + 00016 | 2e 01 14 7c 1f c9 72 af fd 35 8b f8 87 05 02 5e | ...|..r..5.....^ + 00032 | c6 91 74 02 1b 03 05 0b 09 08 07 02 06 15 0a 09 | ..t............. + 00048 | 08 0b 02 04 16 02 03 01 02 1e 01 02 17 80 00 0a | ................ + 00064 | 09 10 c9 72 af fd 35 8b f8 87 de c3 00 fa 02 b2 | ...r..5......... + 00080 | e8 10 20 19 c4 f2 60 b0 d1 6b 5e 50 83 21 b8 3a | .. ...`..k^P.!.: + 00096 | a4 cd c0 39 18 fa 66 23 29 e0 2b 09 90 fe 01 00 | ...9..f#).+..... + 00112 | cd 1f a9 5e 59 be ba c9 35 ce 45 76 2b 3a 4e 8c | ...^Y...5.Ev+:N. + 00128 | b8 7a 9f 06 77 15 dd e3 c2 d9 da e7 4e 5c b2 0f | .z..w.......N\.. + +Signature packet + version: 4 + type: 19 (Positive User ID certification) + public key algorithm: 22 (EdDSA) + hash algorithm: 8 (SHA256) + hashed subpackets: + :type 33, len 21 + :subpacket contents: + 00000 | 04 75 3d 5b 94 7e 9a 2b 2e 01 14 7c 1f c9 72 af | .u=[.~.+...|..r. + 00016 | fd 35 8b f8 87 | .5... + issuer fingerprint: 0x753d5b947e9a2b2e01147c1fc972affd358bf887 (20 bytes) + :type 2, len 4 + :subpacket contents: + 00000 | 5e c6 91 74 | ^..t + signature creation time: 1590071668 (??? ??? ?? ??:??:?? ????) + :type 27, len 1 + :subpacket contents: + 00000 | 03 | . + key flags: 0x03 ( certify sign ) + :type 11, len 4 + :subpacket contents: + 00000 | 09 08 07 02 | .... + preferred symmetric algorithms: AES-256, AES-192, AES-128, TripleDES (9, 8, 7, 2) + :type 21, len 5 + :subpacket contents: + 00000 | 0a 09 08 0b 02 | ..... + preferred hash algorithms: SHA512, SHA384, SHA256, SHA224, SHA1 (10, 9, 8, 11, 2) + :type 22, len 3 + :subpacket contents: + 00000 | 02 03 01 | ... + preferred compression algorithms: ZLib, BZip2, ZIP (2, 3, 1) + :type 30, len 1 + :subpacket contents: + 00000 | 01 | . + features: 0x01 ( mdc ) + :type 23, len 1 + :subpacket contents: + 00000 | 80 | . + key server preferences + no-modify: 1 + unhashed subpackets: + :type 16, len 8 + :subpacket contents: + 00000 | c9 72 af fd 35 8b f8 87 | .r..5... + issuer key ID: 0xc972affd358bf887 + lbits: 0xdec3 + signature material: + ecc r: 250 bits + ecc s: 256 bits diff --git a/src/tests/data/test_key_edge_cases/key-empty-uid.json b/src/tests/data/test_key_edge_cases/key-empty-uid.json new file mode 100644 index 0000000..c78bc9f --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-empty-uid.json @@ -0,0 +1,170 @@ +[ + { + "header":{ + "offset":0, + "tag":6, + "tag.str":"Public Key", + "raw":"9833", + "length":51, + "partial":false, + "indeterminate":false + }, + "version":4, + "creation time":1590071668, + "algorithm":22, + "algorithm.str":"EdDSA", + "material":{ + "p.bits":263, + "curve":"Ed25519" + }, + "keyid":"c972affd358bf887" + }, + { + "header":{ + "offset":53, + "tag":13, + "tag.str":"User ID", + "raw":"b400", + "length":0, + "partial":false, + "indeterminate":false + }, + "userid":"" + }, + { + "header":{ + "offset":55, + "tag":2, + "tag.str":"Signature", + "raw":"8890", + "length":144, + "partial":false, + "indeterminate":false + }, + "version":4, + "type":19, + "type.str":"Positive User ID certification", + "algorithm":22, + "algorithm.str":"EdDSA", + "hash algorithm":8, + "hash algorithm.str":"SHA256", + "subpackets":[ + { + "type":33, + "type.str":"issuer fingerprint", + "length":21, + "hashed":true, + "critical":false, + "fingerprint":"753d5b947e9a2b2e01147c1fc972affd358bf887" + }, + { + "type":2, + "type.str":"signature creation time", + "length":4, + "hashed":true, + "critical":false, + "creation time":1590071668 + }, + { + "type":27, + "type.str":"key flags", + "length":1, + "hashed":true, + "critical":false, + "flags":3, + "flags.str":[ + "certify", + "sign" + ] + }, + { + "type":11, + "type.str":"preferred symmetric algorithms", + "length":4, + "hashed":true, + "critical":false, + "algorithms":[ + 9, + 8, + 7, + 2 + ], + "algorithms.str":[ + "AES-256", + "AES-192", + "AES-128", + "TripleDES" + ] + }, + { + "type":21, + "type.str":"preferred hash algorithms", + "length":5, + "hashed":true, + "critical":false, + "algorithms":[ + 10, + 9, + 8, + 11, + 2 + ], + "algorithms.str":[ + "SHA512", + "SHA384", + "SHA256", + "SHA224", + "SHA1" + ] + }, + { + "type":22, + "type.str":"preferred compression algorithms", + "length":3, + "hashed":true, + "critical":false, + "algorithms":[ + 2, + 3, + 1 + ], + "algorithms.str":[ + "ZLib", + "BZip2", + "ZIP" + ] + }, + { + "type":30, + "type.str":"features", + "length":1, + "hashed":true, + "critical":false, + "mdc":true, + "aead":false, + "v5 keys":false + }, + { + "type":23, + "type.str":"key server preferences", + "length":1, + "hashed":true, + "critical":false, + "no-modify":true + }, + { + "type":16, + "type.str":"issuer key ID", + "length":8, + "hashed":false, + "critical":false, + "issuer keyid":"c972affd358bf887" + } + ], + "lbits":"dec3", + "material":{ + "r.bits":250, + "s.bits":256 + } + } +] diff --git a/src/tests/data/test_key_edge_cases/key-empty-uid.pgp b/src/tests/data/test_key_edge_cases/key-empty-uid.pgp Binary files differnew file mode 100644 index 0000000..ad9876d --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-empty-uid.pgp diff --git a/src/tests/data/test_key_edge_cases/key-empty-uid.txt b/src/tests/data/test_key_edge_cases/key-empty-uid.txt new file mode 100644 index 0000000..dcb94e9 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-empty-uid.txt @@ -0,0 +1,43 @@ +:off 0: packet header 0x9833 (tag 6, len 51) +Public key packet + version: 4 + creation time: 1590071668 (??? ??? ?? ??:??:?? ????) + public key algorithm: 22 (EdDSA) + public key material: + ecc p: 263 bits + ecc curve: Ed25519 + keyid: 0xc972affd358bf887 +:off 53: packet header 0xb400 (tag 13, len 0) +UserID packet + id: +:off 55: packet header 0x8890 (tag 2, len 144) +Signature packet + version: 4 + type: 19 (Positive User ID certification) + public key algorithm: 22 (EdDSA) + hash algorithm: 8 (SHA256) + hashed subpackets: + :type 33, len 21 + issuer fingerprint: 0x753d5b947e9a2b2e01147c1fc972affd358bf887 (20 bytes) + :type 2, len 4 + signature creation time: 1590071668 (??? ??? ?? ??:??:?? ????) + :type 27, len 1 + key flags: 0x03 ( certify sign ) + :type 11, len 4 + preferred symmetric algorithms: AES-256, AES-192, AES-128, TripleDES (9, 8, 7, 2) + :type 21, len 5 + preferred hash algorithms: SHA512, SHA384, SHA256, SHA224, SHA1 (10, 9, 8, 11, 2) + :type 22, len 3 + preferred compression algorithms: ZLib, BZip2, ZIP (2, 3, 1) + :type 30, len 1 + features: 0x01 ( mdc ) + :type 23, len 1 + key server preferences + no-modify: 1 + unhashed subpackets: + :type 16, len 8 + issuer key ID: 0xc972affd358bf887 + lbits: 0xdec3 + signature material: + ecc r: 250 bits + ecc s: 256 bits diff --git a/src/tests/data/test_key_edge_cases/key-expired-cert-direct.pgp b/src/tests/data/test_key_edge_cases/key-expired-cert-direct.pgp Binary files differnew file mode 100644 index 0000000..e86c1cc --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-expired-cert-direct.pgp diff --git a/src/tests/data/test_key_edge_cases/key-malf-sig.json b/src/tests/data/test_key_edge_cases/key-malf-sig.json new file mode 100644 index 0000000..a873f17 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-malf-sig.json @@ -0,0 +1,45 @@ +[ + { + "header":{ + "offset":0, + "tag":6, + "tag.str":"Public Key", + "raw":"9833", + "length":51, + "partial":false, + "indeterminate":false + }, + "version":4, + "creation time":1590071668, + "algorithm":22, + "algorithm.str":"EdDSA", + "material":{ + "p.bits":263, + "curve":"Ed25519" + }, + "keyid":"c972affd358bf887" + }, + { + "header":{ + "offset":53, + "tag":13, + "tag.str":"User ID", + "raw":"b400", + "length":0, + "partial":false, + "indeterminate":false + }, + "userid":"" + }, + { + "header":{ + "offset":55, + "tag":2, + "tag.str":"Signature", + "raw":"8890", + "length":144, + "partial":false, + "indeterminate":false + } + } +] diff --git a/src/tests/data/test_key_edge_cases/key-malf-sig.pgp b/src/tests/data/test_key_edge_cases/key-malf-sig.pgp Binary files differnew file mode 100644 index 0000000..e9d6a53 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-malf-sig.pgp diff --git a/src/tests/data/test_key_edge_cases/key-malf-sig.txt b/src/tests/data/test_key_edge_cases/key-malf-sig.txt new file mode 100644 index 0000000..862d64b --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-malf-sig.txt @@ -0,0 +1,15 @@ +:off 0: packet header 0x9833 (tag 6, len 51) +Public key packet + version: 4 + creation time: 1590071668 (??? ??? ?? ??:??:?? ????) + public key algorithm: 22 (EdDSA) + public key material: + ecc p: 263 bits + ecc curve: Ed25519 + keyid: 0xc972affd358bf887 +:off 53: packet header 0xb400 (tag 13, len 0) +UserID packet + id: +:off 55: packet header 0x8890 (tag 2, len 144) +Signature packet + failed to parse diff --git a/src/tests/data/test_key_edge_cases/key-primary-uid-conflict-pub.pgp b/src/tests/data/test_key_edge_cases/key-primary-uid-conflict-pub.pgp Binary files differnew file mode 100644 index 0000000..482d12f --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-primary-uid-conflict-pub.pgp diff --git a/src/tests/data/test_key_edge_cases/key-primary-uid-conflict-sec.pgp b/src/tests/data/test_key_edge_cases/key-primary-uid-conflict-sec.pgp Binary files differnew file mode 100644 index 0000000..3ba4fe6 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-primary-uid-conflict-sec.pgp diff --git a/src/tests/data/test_key_edge_cases/key-rsa-2001-pub.asc b/src/tests/data/test_key_edge_cases/key-rsa-2001-pub.asc new file mode 100644 index 0000000..6418ec2 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-rsa-2001-pub.asc @@ -0,0 +1,26 @@ +-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+xsBNBDuaygABCADt/ym+Cc2JVpjUoIkwS+eqWt/pKh73Vl3jRbPEQgOAyY0l2pVlBOovkC74RW3c
+5HN9QvZUC94njbW52vQVUOqRDRNDDT4dl4djpAxl5hUP65zgYC3lTISzePs1zjq4Z0H69AfH7qyb
+/49cuqHVVQAQC2ez/Zn31A0SrSZBQlCJND2vDK4BmK07pSv4d3nPqmqaSvoCDDzgS1sAvcsSMFwW
+EgO3suJP3qale0CEE7xHEgoKAuHsf3j8mfoD7c4U36lfPNbQLlzc9k/bS/gkCOChoq1T6pqyZtWp
+oSHiWWiVI8MdgwIyfDXjzX+gPc7jxzKNdNHu1D+K5BEQVjQXU9W7ABEBAAHNDHJzYS1rZXktMjAw
+McLAhwQTAQgAMRYhBDtD89a/PyOnIzH9TWyXZJPEYz+1BQI7msoAAhsDBAsJCAcFFQgJCgsFFgID
+AQAACgkQbJdkk8RjP7UURwf8D5nyfLOIRHoTgUJjnIVbluJR8FFum3/qt405o/NrLIXXz+F1MAF8
+nQBhkgDOMnWk5Keek2C8VGSR6FIyiai0umDvTx4OccIqVyZGiSwxEIF3Ts05RlF0j1UywmI/CTBT
+GSg/Dsk0ujnHwJQmzgQvtbzbyehQ/wCqn48hSBEocU3d6KaVuH7TWm0ZQ8YYxE6SGwDdngBUmqU+
+uWxapoXKltb0g/xsFOmlrYCFKhFkrjsgHco8XBXEgy9E/uFDAPZbC1FVuHnFaJllEqLdUtioXs3P
+cUI0OHGwZHXnZuRBbeeJmvYKtGNN7u6qhCwPquPN+95uBGUC9k81npFQHUt5ss7ATQQ7msoAAQgA
+5YL/OTcsuQHcTwa1kq2N+NcehTbDvZQy1he7mgJaNPo9bNWAHtqm1Ox5Dq6HjHY6eVYtTbVudeOx
+dxrS/BWCbkaaSPX0yGUpM7OsUQKl2/zrgDEmEXYwEtu0bj/fFA3IsETQdy4UEr8Uj4rzizqBj8au
+BgU5D1R+Ec6cK1caNmJgSUEJEThxEekJk+NNH8QaXE2Todho7nvcBTr8Tpyue/w2Wdso0Wcrvefz
+gWqrwe35iZYOemkLt0OqVOJuG3XHHhO0wZiDKwT7zqGUgPISp0jDZxgLnKMbRuj3gqQcPfL/LkN8
+7dLWlqsKQHBygSaM7FF1qKSd4XmSWV4g4q1NMQARAQABwsB2BBgBCAAgFiEEO0Pz1r8/I6cjMf1N
+bJdkk8RjP7UFAjuaygACGwwACgkQbJdkk8RjP7WHhAf/Ur/fsfSSQKft6FeCaPaWznfbgnwl0DXS
+b/gUzZAMTAEwfLS/4LxywiJ5qbVhRf5N7CwP0fbyg5VZFYa86t15iWheqOAUFZuZ0NEsYpqyVkGb
+W50rxuHU/Hps05rqH43aUIJJyzpxndniBMxBelB8QobXnjmUK97iw0e9uoMiPj+aqSzyW/ecHdwD
+LyJyFs3jB1kRSUCcZEUtZVa3ij2NSnY+LOykXiRf+2GymuoPM6lJG5KCLFD+SQEBpFk1TTiaQggW
+z3nPu1xqUDOx2MjApLDF7T/rLCSx1u4Wa45Vzx3tTfm8vO0E2YiPFpAHZ+BMXlKgstp97YhCYJN5
+zLgslg==
+=Wxb0
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/tests/data/test_key_edge_cases/key-rsa-2001-sec.asc b/src/tests/data/test_key_edge_cases/key-rsa-2001-sec.asc new file mode 100644 index 0000000..175e77f --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-rsa-2001-sec.asc @@ -0,0 +1,50 @@ +-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+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
+=gTGj
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/tests/data/test_key_edge_cases/key-sec.asc b/src/tests/data/test_key_edge_cases/key-sec.asc new file mode 100644 index 0000000..404bc29 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-sec.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lIYEXsaRdBYJKwYBBAHaRw8BAQdAaxEEwgMkGQUj+bA1Kx0KlILXljB3O3h+WlNh +88aEVuH+BwMCXuyNBH0+daDjGdIZx6FJFjJnaeSH2dOy6Z6dZXFjnASj/FgG8wuT +OISz9ttnpnEW5KoAoTwz03wNEXVngwF8+5jFQaBFajFYhyTN6wilkLQFTm9VSUSI +kAQTFggAOBYhBHU9W5R+misuARR8H8lyr/01i/iHBQJexpF0AhsDBQsJCAcCBhUK +CQgLAgQWAgMBAh4BAheAAAoJEMlyr/01i/iH3sMA+gKy6BAgGcTyYLDRa15QgyG4 +OqTNwDkY+mYjKeArCZD+AQDNH6leWb66yTXORXYrOk6MuHqfBncV3ePC2drnTlyy +Dw== +=R2SZ +-----END PGP PRIVATE KEY BLOCK----- diff --git a/src/tests/data/test_key_edge_cases/key-sub-0-expiry.pgp b/src/tests/data/test_key_edge_cases/key-sub-0-expiry.pgp Binary files differnew file mode 100644 index 0000000..95006a3 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-sub-0-expiry.pgp diff --git a/src/tests/data/test_key_edge_cases/key-sub-crit-note-pub.pgp b/src/tests/data/test_key_edge_cases/key-sub-crit-note-pub.pgp Binary files differnew file mode 100644 index 0000000..ed04a77 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-sub-crit-note-pub.pgp diff --git a/src/tests/data/test_key_edge_cases/key-sub-crit-note-sec.pgp b/src/tests/data/test_key_edge_cases/key-sub-crit-note-sec.pgp Binary files differnew file mode 100644 index 0000000..957613e --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-sub-crit-note-sec.pgp diff --git a/src/tests/data/test_key_edge_cases/key-subpacket-101-110.json b/src/tests/data/test_key_edge_cases/key-subpacket-101-110.json new file mode 100644 index 0000000..f558513 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-subpacket-101-110.json @@ -0,0 +1,250 @@ +[ + { + "header":{ + "offset":0, + "tag":6, + "tag.str":"Public Key", + "raw":"9833", + "length":51, + "partial":false, + "indeterminate":false + }, + "version":4, + "creation time":1590071668, + "algorithm":22, + "algorithm.str":"EdDSA", + "material":{ + "p.bits":263, + "curve":"Ed25519" + }, + "keyid":"c972affd358bf887" + }, + { + "header":{ + "offset":53, + "tag":13, + "tag.str":"User ID", + "raw":"b405", + "length":5, + "partial":false, + "indeterminate":false + }, + "userid":"NoUID" + }, + { + "header":{ + "offset":60, + "tag":2, + "tag.str":"Signature", + "raw":"88b8", + "length":184, + "partial":false, + "indeterminate":false + }, + "version":4, + "type":19, + "type.str":"Positive User ID certification", + "algorithm":22, + "algorithm.str":"EdDSA", + "hash algorithm":8, + "hash algorithm.str":"SHA256", + "subpackets":[ + { + "type":33, + "type.str":"issuer fingerprint", + "length":21, + "hashed":true, + "critical":false, + "fingerprint":"753d5b947e9a2b2e01147c1fc972affd358bf887" + }, + { + "type":2, + "type.str":"signature creation time", + "length":4, + "hashed":true, + "critical":false, + "creation time":1590071668 + }, + { + "type":27, + "type.str":"key flags", + "length":1, + "hashed":true, + "critical":false, + "flags":3, + "flags.str":[ + "certify", + "sign" + ] + }, + { + "type":11, + "type.str":"preferred symmetric algorithms", + "length":4, + "hashed":true, + "critical":false, + "algorithms":[ + 9, + 8, + 7, + 2 + ], + "algorithms.str":[ + "AES-256", + "AES-192", + "AES-128", + "TripleDES" + ] + }, + { + "type":21, + "type.str":"preferred hash algorithms", + "length":5, + "hashed":true, + "critical":false, + "algorithms":[ + 10, + 9, + 8, + 11, + 2 + ], + "algorithms.str":[ + "SHA512", + "SHA384", + "SHA256", + "SHA224", + "SHA1" + ] + }, + { + "type":22, + "type.str":"preferred compression algorithms", + "length":3, + "hashed":true, + "critical":false, + "algorithms":[ + 2, + 3, + 1 + ], + "algorithms.str":[ + "ZLib", + "BZip2", + "ZIP" + ] + }, + { + "type":30, + "type.str":"features", + "length":1, + "hashed":true, + "critical":false, + "mdc":true, + "aead":false, + "v5 keys":false + }, + { + "type":23, + "type.str":"key server preferences", + "length":1, + "hashed":true, + "critical":false, + "no-modify":true + }, + { + "type":16, + "type.str":"issuer key ID", + "length":8, + "hashed":false, + "critical":false, + "issuer keyid":"c972affd358bf887" + }, + { + "type":101, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0101" + }, + { + "type":102, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0102" + }, + { + "type":103, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0103" + }, + { + "type":104, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0104" + }, + { + "type":105, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0105" + }, + { + "type":106, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0106" + }, + { + "type":107, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0107" + }, + { + "type":108, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0108" + }, + { + "type":109, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0109" + }, + { + "type":110, + "type.str":"Unknown", + "length":2, + "hashed":false, + "critical":false, + "raw":"0110" + } + ], + "lbits":"dec3", + "material":{ + "r.bits":250, + "s.bits":256 + } + } +] diff --git a/src/tests/data/test_key_edge_cases/key-subpacket-101-110.pgp b/src/tests/data/test_key_edge_cases/key-subpacket-101-110.pgp Binary files differnew file mode 100644 index 0000000..4f23250 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-subpacket-101-110.pgp diff --git a/src/tests/data/test_key_edge_cases/key-subpacket-101-110.txt b/src/tests/data/test_key_edge_cases/key-subpacket-101-110.txt new file mode 100644 index 0000000..2ff8aac --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-subpacket-101-110.txt @@ -0,0 +1,63 @@ +:off 0: packet header 0x9833 (tag 6, len 51) +Public key packet + version: 4 + creation time: 1590071668 (??? ??? ?? ??:??:?? ????) + public key algorithm: 22 (EdDSA) + public key material: + ecc p: 263 bits + ecc curve: Ed25519 + keyid: 0xc972affd358bf887 +:off 53: packet header 0xb405 (tag 13, len 5) +UserID packet + id: NoUID +:off 60: packet header 0x88b8 (tag 2, len 184) +Signature packet + version: 4 + type: 19 (Positive User ID certification) + public key algorithm: 22 (EdDSA) + hash algorithm: 8 (SHA256) + hashed subpackets: + :type 33, len 21 + issuer fingerprint: 0x753d5b947e9a2b2e01147c1fc972affd358bf887 (20 bytes) + :type 2, len 4 + signature creation time: 1590071668 (??? ??? ?? ??:??:?? ????) + :type 27, len 1 + key flags: 0x03 ( certify sign ) + :type 11, len 4 + preferred symmetric algorithms: AES-256, AES-192, AES-128, TripleDES (9, 8, 7, 2) + :type 21, len 5 + preferred hash algorithms: SHA512, SHA384, SHA256, SHA224, SHA1 (10, 9, 8, 11, 2) + :type 22, len 3 + preferred compression algorithms: ZLib, BZip2, ZIP (2, 3, 1) + :type 30, len 1 + features: 0x01 ( mdc ) + :type 23, len 1 + key server preferences + no-modify: 1 + unhashed subpackets: + :type 16, len 8 + issuer key ID: 0xc972affd358bf887 + :type 101, len 2 + 00000 | 01 01 | .. + :type 102, len 2 + 00000 | 01 02 | .. + :type 103, len 2 + 00000 | 01 03 | .. + :type 104, len 2 + 00000 | 01 04 | .. + :type 105, len 2 + 00000 | 01 05 | .. + :type 106, len 2 + 00000 | 01 06 | .. + :type 107, len 2 + 00000 | 01 07 | .. + :type 108, len 2 + 00000 | 01 08 | .. + :type 109, len 2 + 00000 | 01 09 | .. + :type 110, len 2 + 00000 | 01 10 | .. + lbits: 0xdec3 + signature material: + ecc r: 250 bits + ecc s: 256 bits diff --git a/src/tests/data/test_key_edge_cases/key-unhashed-subpkts.pgp b/src/tests/data/test_key_edge_cases/key-unhashed-subpkts.pgp Binary files differnew file mode 100644 index 0000000..ff4ad28 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/key-unhashed-subpkts.pgp diff --git a/src/tests/data/test_key_edge_cases/pubring-malf-cert.pgp b/src/tests/data/test_key_edge_cases/pubring-malf-cert.pgp Binary files differnew file mode 100644 index 0000000..04acb2f --- /dev/null +++ b/src/tests/data/test_key_edge_cases/pubring-malf-cert.pgp diff --git a/src/tests/data/test_key_edge_cases/pubring-malf-key0-sub0-bind.pgp b/src/tests/data/test_key_edge_cases/pubring-malf-key0-sub0-bind.pgp Binary files differnew file mode 100644 index 0000000..21eb20f --- /dev/null +++ b/src/tests/data/test_key_edge_cases/pubring-malf-key0-sub0-bind.pgp diff --git a/src/tests/data/test_key_edge_cases/pubring-malf-key0-sub0.pgp b/src/tests/data/test_key_edge_cases/pubring-malf-key0-sub0.pgp Binary files differnew file mode 100644 index 0000000..b5f1ff9 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/pubring-malf-key0-sub0.pgp diff --git a/src/tests/data/test_key_edge_cases/pubring-malf-key0.pgp b/src/tests/data/test_key_edge_cases/pubring-malf-key0.pgp Binary files differnew file mode 100644 index 0000000..8d11977 --- /dev/null +++ b/src/tests/data/test_key_edge_cases/pubring-malf-key0.pgp diff --git a/src/tests/data/test_key_edge_cases/secring-malf-key0.pgp b/src/tests/data/test_key_edge_cases/secring-malf-key0.pgp Binary files differnew file mode 100644 index 0000000..cfd1c0c --- /dev/null +++ b/src/tests/data/test_key_edge_cases/secring-malf-key0.pgp diff --git a/src/tests/data/test_key_edge_cases/secring-malf-key1.pgp b/src/tests/data/test_key_edge_cases/secring-malf-key1.pgp Binary files differnew file mode 100644 index 0000000..4a6bf8d --- /dev/null +++ b/src/tests/data/test_key_edge_cases/secring-malf-key1.pgp |