Skip to content

A CLI tool enabling DID/SSI operations with your OpenPGP smart card

License

Notifications You must be signed in to change notification settings

Yengas/openpgp-did

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenPGP-DID CLI

The OpenPGP-DID project provides a command-line interface (CLI) that uses your Smart Card Hardware OpenPGP applet to perform DID (Decentralized Identifiers) / SSI (Self-sovereign Identity) related operations using your existing signing / encryption keys for OpenPGP.

Features

Pre-requisites

Before using this CLI, you need to initiate signing and encryption keys for your OpenPGP Applet. This operation is not orchestrated by this CLI, you need to follow other docs and videos to do this yourself. The keys you create must be Elliptic Curve keys e.g. Ed25519 and Cv25519.

Check out Youtube - How to set up Git commit signing with GPG and a YubiKey on macOS if you are on Mac and are using Yubikey.

You can ensure the initial setup is properly completed by running openpgp-did card diagnostic. You should see SUCCESS for all the diagnostic checks.

$ openpgp-did card diagnostic 

+---------+--------------------------------------+---------+
| Code    | Description                          | Result  |
+---------+--------------------------------------+---------+
| DIAG-01 | card connection must be successful   | SUCCESS |
+---------+--------------------------------------+---------+
| DIAG-02 | card information must be read        | SUCCESS |
+---------+--------------------------------------+---------+
| DIAG-03 | signing key must exist               | SUCCESS |
+---------+--------------------------------------+---------+
| DIAG-04 | encryption key must exist            | SUCCESS |
+---------+--------------------------------------+---------+
| DIAG-05 | signing key curve must be Ed25519    | SUCCESS |
+---------+--------------------------------------+---------+
| DIAG-06 | encryption key curve must be Cv25519 | SUCCESS |
+---------+--------------------------------------+---------+

Installation

Install the OpenPGP-DID CLI by cloning the repository and using cargo:

git clone https://github.com/Yengas/openpgp-did.git
cd openpgp-did
cargo build
cargo install --path .

Usage

To see the list of available commands, you can run:

openpgp-did help

For detailed usage instructions of specific commands, refer to their respective help menus:

openpgp-did card help
openpgp-did did help
openpgp-did ssi help

Known Issues

Sometimes gpg agent keeps lock on the Smart Card. Run gpgconf --kill gpg-agent to kill the GPG agent.

Contributing

Contributions to the OpenPGP-DID project are welcome! Please review the CONTRIBUTING.md for details on how to get started.

License

This project is licensed under the MIT License.

About

A CLI tool enabling DID/SSI operations with your OpenPGP smart card

Topics

Resources

License

Stars

Watchers

Forks

Languages