lucernae / bitwarden-pinentry

Pinentry implementation for using Bitwarden as passphrase provider

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bitwarden-pinentry

This repo contains a pinentry implementation using Bitwarden as passphrase store. It works by utilizing the assuan protocol for gpg interaction and bitwarden-cli for the passphrase lookup. Currently it is expected that the passphrase is the login password of an item stored in Bitwarden.

Dependencies

bitwarden-pinentry need the Bitwarden-CLI to be installed on the machine.

Configuration

bitwarden-pinentry needs a configuration file specifing the bitwarden-cli sessionID (may also be provided via BW_SESSION environment variable) and itemID (may also be provided via BW_ITEMID environment variable). An minimal example would look like this:

{
  "Session": "...",
  "ItemID": "..."
}

Usage

Simply specify the gpg-agent parameter pinentry-program to point to your bitwarden-pinentry binary in your gpg-agent.conf file. For more on gpg-agent options visit this site.

Limitations

This is an early working version of bitwarden-pinentry so be warned your mileage may vary.

About

Pinentry implementation for using Bitwarden as passphrase provider

License:Apache License 2.0


Languages

Language:Go 95.8%Language:Shell 4.2%