summaryrefslogtreecommitdiffstats
path: root/t/at-least-2048.t
diff options
context:
space:
mode:
Diffstat (limited to 't/at-least-2048.t')
-rwxr-xr-xt/at-least-2048.t22
1 files changed, 22 insertions, 0 deletions
diff --git a/t/at-least-2048.t b/t/at-least-2048.t
new file mode 100755
index 0000000..07be53b
--- /dev/null
+++ b/t/at-least-2048.t
@@ -0,0 +1,22 @@
+#!/bin/sh
+# Looks for revoked keys in our active keyrings
+set -e
+
+find_too_short () {
+ k=$1
+ gpg --no-options --no-auto-check-trustdb --no-default-keyring \
+ --keyring "./output/keyrings/$k" --list-keys --with-colons \
+ | awk -F: -v keyring=$1 \
+ 'BEGIN { ok = 1 } \
+ /^pub/ { fpr = $5 ; if ($3 < 2048 && $4 < 18) { print keyring ":\t0x" $5 " is smaller than 2048 bits"; ok = 0 } } \
+ /^sub/ { if ($2 != "r" && $2 != "e" && $3 < 2048 && $4 < 18) { print keyring ":\t0x" fpr " has subkey smaller than 2048 bits"; ok = 0 } } \
+ END { if (!ok) { exit 1 } }'
+}
+
+fail=0
+for keyring in debian-keyring.gpg debian-maintainers.gpg \
+ debian-nonupload.gpg debian-role-keys.gpg; do
+ find_too_short $keyring
+done
+
+exit $fail