diff options
| author | Danilo M. <danix@danix.xyz> | 2026-11-05 10:22:12 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-11-05 10:22:12 +0100 |
| commit | 395eed25a9d879391558026bb90cd3acb9afdacf (patch) | |
| tree | 70e33dcdcca31fc47d595cd339778ebfa09ce6df /content/en/hardenedpass/getting-started/create-store | |
| parent | a5761e8d7875357d0dcc52a5cc31f06f866d791c (diff) | |
| download | danixxyz-395eed25a9d879391558026bb90cd3acb9afdacf.tar.gz danixxyz-395eed25a9d879391558026bb90cd3acb9afdacf.zip | |
content: write HardenedPass getting-started pages
Concepts, install, creating a store from zero and connecting the app, in
both languages, with screenshots from the test store. Still drafts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'content/en/hardenedpass/getting-started/create-store')
| -rw-r--r-- | content/en/hardenedpass/getting-started/create-store/index.md | 70 |
1 files changed, 66 insertions, 4 deletions
diff --git a/content/en/hardenedpass/getting-started/create-store/index.md b/content/en/hardenedpass/getting-started/create-store/index.md index 205e035..378123a 100644 --- a/content/en/hardenedpass/getting-started/create-store/index.md +++ b/content/en/hardenedpass/getting-started/create-store/index.md @@ -1,13 +1,75 @@ +++ title = "Create a store" date = 2026-11-05T00:00:00Z -description = "" +description = "How to create a password store from zero on a computer: make an OpenPGP key, initialize pass, add a private git remote and export the key." weight = 30 draft = true +++ -Placeholder. +If you already have a store in a git repository, skip to +[Connect the app]({{< relref "/hardenedpass/getting-started/connect" >}}). -## First heading +HardenedPass cannot generate OpenPGP keys, so you need a computer for this part, with +[GnuPG](https://www.gnupg.org/), [pass](https://www.passwordstore.org/) and +[git](https://git-scm.com/) installed. Most Linux distributions package all three. -Text. +## Make a key pair + +```bash +gpg --full-generate-key +``` + +Accept the default key type, enter your name and an address, and choose a strong +passphrase. You will type it often, so pick one you can remember. + +## Create the store + +Use the address you gave the key: + +```bash +pass init you@example.org +pass git init +``` + +The first command creates the store in `~/.password-store` and writes `.gpg-id`. The +second turns it into a git repository. + +Add a first entry so that you have something to test with. `-m` lets you type several +lines; finish with Ctrl+D: + +```bash +pass insert -m example.org +``` + +``` +hunter2 +username: alice +``` + +## Add a remote + +Create an **empty, private** repository on a git server you can reach over SSH or +HTTPS. A hosting service works, and so does a server of your own. Then connect the +store to it and send it there: + +```bash +pass git remote add origin git@git.example.org:store.git +pass git push -u origin HEAD +``` + +## Export the private key + +The phone needs a copy of the private key: + +```bash +gpg --armor --export-secret-keys you@example.org > private-key.asc +``` + +{{< callout type="warning" title="Handle this file with care" >}} +Move `private-key.asc` to the phone over USB, not through email or a cloud drive. +Delete every copy from the phone's storage and from the computer once the app has +imported it. The app keeps its own. +{{< /callout >}} + +Also keep a backup of the key offline, for example on an encrypted USB stick. See +[Concepts]({{< relref "/hardenedpass/getting-started/concepts" >}}) for why. |
