diff --git a/templates/passphrase.html b/templates/passphrase.html
index 2721110..7dd137c 100644
--- a/templates/passphrase.html
+++ b/templates/passphrase.html
@@ -1,14 +1,14 @@
+
-
-
+
credentials
-
+
-
+
|
date (yyyy-mm-dd) |
@@ -45,316 +47,18 @@
user pin |
|
-
- |
- 2 |
- 0 |
- 2 |
- 5 |
- - |
- _ |
- _ |
- - |
- _ |
- _ |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
+
| 2 | 0 | 2 | _ | - | _ | _ | - | _ | _ | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
+ | | | | | | | | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
+ | key id | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
+ | 0x | _ | _ | _ | _ | _ | _ | _ | _ | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
+ | _ | _ | _ | _ | _ | _ | _ | _ | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
+ | | | | | | | | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
+ | serial number | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
+ | _ | _ | _ | _ | _ | _ | _ | _ | _ | _ | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
+
+ | for each char in passphrase, mark corresponding column on sequential row, then fold inward and tamper seal |
-
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
-
-
- |
- key id |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
-
-
- |
- 0x |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
-
-
- |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
-
-
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
-
-
- |
- serial number |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
-
-
-
-
- |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- _ |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
- |
- |
- 0 |
- 1 |
- 2 |
- 3 |
- 4 |
- 5 |
- 6 |
- 7 |
- 8 |
- 9 |
- |
-
-
-
-
- | for each char in passphrase, mark corresponding column on sequential row, then fold inward and tamper seal |
-
-
-
-
- | - |
+
| - |
A |
B |
C |
@@ -393,8 +97,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -433,8 +136,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -473,8 +175,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -513,8 +214,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -553,8 +253,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -593,8 +292,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -633,8 +331,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -673,8 +370,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -713,8 +409,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -753,8 +448,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -793,8 +487,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -833,8 +526,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -873,8 +565,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -913,8 +604,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -953,8 +643,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -993,8 +682,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1033,8 +721,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1073,8 +760,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1113,8 +799,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1153,8 +838,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1193,8 +877,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1233,8 +916,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1273,8 +955,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1313,8 +994,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1353,8 +1033,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1393,8 +1072,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1433,8 +1111,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1473,8 +1150,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
@@ -1513,8 +1189,7 @@
9 |
|
-
- | - |
+
| - |
A |
B |
C |
diff --git a/templates/passphrase.html.sh b/templates/passphrase.html.sh
new file mode 100755
index 0000000..59f3ba4
--- /dev/null
+++ b/templates/passphrase.html.sh
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+
+# USAGE: passphrase.html.sh [ PIN_LENGTH [ PASSPHRASE_LENGTH ]]
+# PIN_LENGTH and PASSPHRASE_LENGTH can be omitted. A HTML file will be written to stdout
+
+set -e
+set -u
+set -o pipefail
+
+
+# Script arguments, or use defaults
+PIN_LENGTH="${1:-8}"
+PASSPHRASE_LENGTH="${2:-30}"
+
+cat <
+
+
+
+
+
+
+ credentials
+
+
+
+
+
+
+
+ |
+ date (yyyy-mm-dd) |
+ |
+ |
+ |
+ admin pin |
+ |
+ |
+ |
+ user pin |
+ |
+
+EOF
+
+DATE_HEADER=$(cat < | 2 | 0 | 2 | _ | - | _ | _ | - | _ | _ | | | |
+$(for((i=0;i<14;i++)); do printf " | "; done)
+
| key id | | | |
+
| 0x | $(for((i=0;i<8;i++)); do printf "_ | "; done) | | |
+
| $(for((i=0;i<8;i++)); do printf "_ | "; done) | | |
+
$(for((i=0;i<14;i++)); do printf " | "; done)
+
| serial number | | | |
+
| $(for((i=0;i<10;i++)); do printf "_ | "; done) | | |
+EOF
+)
+
+KEYS=$(cat <$j";
+ done &&
+ printf " | | | "
+ for j in {1..10}; do
+ printf "$j | ";
+ done &&
+ printf " |
\n"
+done)
+EOF
+)
+
+#Make KEYS have as many lines as DATE_HEADER, and vice versa. Needed to close/open html tags properly
+# Note that the row is simply closed without filling it up...
+KEYS="$KEYS $(for ((i=PIN_LENGTH; i<8; i++)); do printf '\n' && for _ in {0..23}; do printf ' | '; done && printf ''; done)"
+DATE_HEADER="$DATE_HEADER $(for ((i=8; i' && for _ in {0..13}; do printf ' | '; done ; done)"
+
+paste -d " " <(echo "$DATE_HEADER") <(echo "$KEYS")
+
+cat <
+ for each char in passphrase, mark corresponding column on sequential row, then fold inward and tamper seal |
+
+EOF
+
+for ((i=1; i<=PASSPHRASE_LENGTH; i++)); do
+
+if [ $((i%2)) -eq 0 ]; then
+ printf '';
+else
+ printf '
';
+fi
+
+cat <-
+ | A |
+ B |
+ C |
+ D |
+ E |
+ F |
+ G |
+ H |
+ I |
+ J |
+ K |
+ L |
+ M |
+ N |
+ O |
+ P |
+ Q |
+ R |
+ S |
+ T |
+ U |
+ V |
+ W |
+ X |
+ Y |
+ Z |
+ 0 |
+ 1 |
+ 2 |
+ 3 |
+ 4 |
+ 5 |
+ 6 |
+ 7 |
+ 8 |
+ 9 |
+ |
+
+EOF
+done
+
+cat <
+
+
+EOF
+
+
+
diff --git a/templates/passphrase.txt b/templates/passphrase.txt
index 9df9a7d..6b4523e 100644
--- a/templates/passphrase.txt
+++ b/templates/passphrase.txt
@@ -1,15 +1,15 @@
# https://github.com/drduh/YubiKey-Guide/blob/master/templates/passphrase.txt
- DATE (YYYY-MM-DD) ADMIN PIN USER PIN
-
- 2025-__-__ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
- KEY ID 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
- 0x________________ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
- SERIAL NUMBER 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
- ________ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+ DATE (YYYY-MM-DD) ADMIN PIN USER PIN
+
+ 202_-__-__ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+ KEY ID 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+ 0x________________ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+ SERIAL NUMBER 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+ ________ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
FOR EACH CHAR IN PASSPHRASE,
MARK CORRESPONDING COLUMN ON SEQUENTIAL ROW,
diff --git a/templates/passphrase.txt.sh b/templates/passphrase.txt.sh
new file mode 100755
index 0000000..1645527
--- /dev/null
+++ b/templates/passphrase.txt.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+
+# USAGE: passphrase.txt.sh [ PIN_LENGTH [ PASSPHRASE_LENGTH ]]
+# PIN_LENGTH and PASSPHRASE_LENGTH can be omitted. A txt file will be written to stdout
+
+set -e
+set -u
+set -o pipefail
+
+# Script arguments, or use defaults
+PIN_LENGTH="${1:-8}"
+PASSPHRASE_LENGTH="${2:-30}"
+
+DATE_HEADER=$(cat <