Ho il seguente set di 6 sottochiavi
$ gpg -K
...
ssb> rsa2048 2017-10-04 [E] [expires: 2027-10-02]
ssb> rsa2048 2017-10-04 [S] [expires: 2027-10-02]
ssb> rsa2048 2017-10-04 [A] [expires: 2027-10-02]
ssb> rsa2048 2015-02-12 [E] [expires: 2025-01-05]
ssb> rsa2048 2016-01-05 [A] [expires: 2026-01-02]
ssb> rsa2048 2016-08-20 [S] [expires: 2026-08-18]
Il contesto è che ho comprato una nuova smart card (Yubikey) e generato nuove sottochiavi per questo. Volevo tenere traccia delle vecchie sottochiavi nel mio pubkey in modo che ad es. Github continua a visualizzare i miei vecchi commit firmati con le vecchie sottochiavi come "verificate".
Tuttavia mi piacerebbe assicurarmi che d'ora in poi solo le nuove sottochiavi siano primariamente usate. per esempio. Se qualcuno mi invia un messaggio crittografato, voglio che utilizzino la nuova sottochiave.
Ho notato che gpg -e
utilizza la mia nuova sottochiave di crittografia per impostazione predefinita, quindi funziona come previsto, ma la mia domanda è perché ?
In altre parole in che modo gpg
determina quale chiave utilizzare durante la crittografia ? Si basa sull'ordine in cui le sottochiavi vengono salvate nel file (come sopra) o nella data di creazione / scadenza (il più recente ha la priorità)?