+++ title = "Crea un archivio" date = 2026-11-05T00:00:00Z description = "Come creare da zero un archivio di password su un computer: genera una chiave OpenPGP, inizializza pass, aggiungi un remote git privato ed esporta la chiave." weight = 30 draft = false +++ Se hai già un archivio in un repository git, passa a [Collega l'app]({{< relref "/hardenedpass/getting-started/connect" >}}). HardenedPass non può generare chiavi OpenPGP, quindi la chiave va creata altrove. Il modo più comodo è un computer con [GnuPG](https://www.gnupg.org/), [pass](https://www.passwordstore.org/) e [git](https://git-scm.com/) installati. La maggior parte delle distribuzioni Linux li offre tutti e tre. Niente computer? [Termux](https://termux.dev/) ti dà gli stessi strumenti sul telefono, e i comandi qui sotto funzionano anche lì. La [strada solo telefono]({{< relref "/articles/your-own-password-store-part-2#la-strada-solo-telefono" >}}) spiega cosa cambia. In quel caso la chiave vive solo sul telefono, quindi assicurati di copiarla in un posto sicuro. ## Crea una coppia di chiavi ```bash gpg --full-generate-key ``` Accetta il tipo di chiave predefinito, inserisci il tuo nome e un indirizzo e scegli una passphrase robusta. La digiterai spesso, quindi sceglila in modo da ricordarla. ## Crea l'archivio Usa l'indirizzo che hai dato alla chiave: ```bash pass init you@example.org pass git init ``` Il primo comando crea l'archivio in `~/.password-store` e scrive `.gpg-id`. Il secondo lo trasforma in un repository git. Aggiungi una prima voce, così hai qualcosa con cui provare. `-m` permette di scrivere più righe; si termina con Ctrl+D: ```bash pass insert -m example.org ``` ``` hunter2 username: alice ``` ## Aggiungi un remote Crea un repository **vuoto e privato** su un server git raggiungibile via SSH o HTTPS. Va bene un servizio di hosting, e va bene un server tuo: [questo articolo]({{< relref "/articles/your-own-password-store-part-2" >}}) confronta le opzioni. Poi collegaci l'archivio e invialo: ```bash pass git remote add origin git@git.example.org:store.git pass git push -u origin HEAD ``` ## Esporta la chiave privata Il telefono ha bisogno di una copia della chiave privata: ```bash gpg --armor --export-secret-keys you@example.org > private-key.asc ``` {{< callout type="warning" title="Maneggia questo file con cura" >}} Sposta `private-key.asc` sul telefono via USB, non per email né tramite un cloud. Cancellane ogni copia dalla memoria del telefono e dal computer non appena l'app l'ha importato. L'app ne conserva una sua. {{< /callout >}} Tieni anche un backup offline della chiave, per esempio su una chiavetta USB cifrata. Il perché è in [Concetti]({{< relref "/hardenedpass/getting-started/concepts" >}}).