Penso che potresti farlo in questo modo:
-
Genera la tua coppia di chiavi o usa la tua chiave esistente:
pub rsa2048/E777DCBD 2017-06-16 [S]
Key fingerprint = 27F6 F30D EA60 B720 85EF AF89 358C 5737 E777 DCBD
uid [ultimate] Testing
sub rsa2048/05662D7C 2017-06-16 []
-
Successivamente, usa gpg --edit keyid
su quella chiave e aggiungi la firma, ecc. Sottochiavi che vuoi usare la parola chiave addkey
e poi save
per memorizzare questa sottochiave appena creata sul portachiavi. (Oppure utilizzare solo la sottochiave di crittografia predefinita e non fare nulla ...) Per l'esempio, ho aggiunto le sottochiavi di crittografia, firma e autenticazione (utilizzando il comando gpg --expert --edit keyid
per impostare le mie capacità nelle sottochiavi) a la mia chiave principale:
sec rsa2048/E777DCBD
created: 2017-06-16 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/05662D7C
created: 2017-06-16 expires: never usage: E
ssb rsa2048/8D9F7D0A
created: 2017-06-16 expires: never usage: E
ssb rsa2048/4852B177
created: 2017-06-16 expires: never usage: A
ssb rsa2048/105B24A3
created: 2017-06-16 expires: never usage: S
[ultimate] (1). Testing
Nota: quando hai due sottochiavi di crittografia come qui, il più recente è usato di default.
-
Crea un backup dell'intera chiave (segreta e pubblica) utilizzando gpg --export -a keyid > commonpubkey.asc
e gpg --export-secret-key -a keyid > masterseckey.asc
. In questo caso dovresti prendere le solite precauzioni per PGP e copiare questi file su una memoria offline sicura.
- Ora è importante anche fare il backup dell'intero portachiavi, perché il prossimo passaggio lo farà scomparire.
-
Quindi, ora vuoi solo prendere una delle sottochiavi, quindi puoi: gpg --edit keyid
ed eliminare tutte le sottochiavi che non vuoi condividere (per farlo, devi prima contrassegnarle con key n
ed eliminarli con delkey
) e save
:
sec rsa2048/E777DCBD
created: 2017-06-16 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/8D9F7D0A
created: 2017-06-16 expires: never usage: E
[ultimate] (1). Testing
-
Infine la magia gpg --export-secret-subkeys -a keyid > sharedseckey.asc
ti permetterà di esportare solo la sottochiave rimanente, senza nessun altro materiale chiave dalla chiave primaria!
Quindi puoi finalmente ripristinare i tuoi portachiavi (dovrai ripristinare sia quelli segreti che quelli pubblici, perché quando elimini una sottochiave, elimini anche la tua sottochiave pubblica), e torni a possedere l'intera chiave, con tutte le sottochiavi e il relativo keymaterial.
Il prossimo passo è per i tuoi colleghi:
- Sulla loro macchina, hanno bisogno di fare un
gpg --import commonpubkey.asc commonseckey.asc
(con quei due file che hai precedentemente generato).
Et voilà , sei pronto per usare gpg.
Per verificare che i tuoi colleghi non abbiano davvero alcuna chiave segreta che non vuoi che abbiano, dai un'occhiata all'output di gpg --list-secret-keys
, vedrai che questa chiave senza la chiave segreta primaria è contrassegnata con un '#':
sec# rsa2048/E777DCBD 2017-06-16 [SC]
uid [ unknown] Testing
ssb rsa2048/05662D7C 2017-06-16 [E]
ssb rsa2048/8D9F7D0A 2017-06-16 [E]
ssb rsa2048/4852B177 2017-06-16 [A]
ssb rsa2048/105B24A3 2017-06-16 [S]
Inoltre, non saranno in grado di firmare o autenticare poiché non avranno quelle sottochiavi, ma se firmi qualcosa con la tua chiave, il comune pubkey
sarà ancora in grado di verificarlo.
Quindi, alla fine, non importeranno la sottochiave, ma l'intera chiave, ma senza il keymaterial primario, con solo il keymaterial della sottochiave di crittografia che vi rimarrà. Ma questa è la strada da percorrere invece di provare ad aggiungere questa sottochiave comune di crittografia alla propria chiave, poiché significherebbe che quando crittografate qualcosa per loro avrete crittografato per l'intero gruppo, dal momento che la sottochiave più recente di crittografia di per impostazione predefinita viene utilizzata una chiave pubblica per crittografare per gpg
...
Quindi davvero non vuoi che importino la sottochiave, vuoi che importino la chiave segreta, con il minimo di keymaterial.