Skip to content

Latest commit

 

History

History
45 lines (27 loc) · 2.05 KB

index.md

File metadata and controls

45 lines (27 loc) · 2.05 KB
title category type source
Uport PKI
pki
reference

uPort Public Key Infrastructure (PKI)

uPort implements a simple yet general purpose decentralized PKI system, making it easy to create and verify off-chain JWT messages.

Purpose

We need a decentralized way to lookup public keys that can be used to verify off-chain JWTs. This allows us to use the power of the Ethereum blockchain to verify signed data privately transferred between parties.

The PKI is not needed for blockchain transactions themselves, as any blockchain already has a PKI-like functionality built in.

We are primarily using it with JWTs, although it could be used for signing other data formats as well.

Creating and Verifying a JWT

The following overview shows the basic process for creating and verifying a trusted off-chain transaction between two parties using the uPort PKI.

Create and Verify Data

Identity Document

We currently support 2 kinds of Identity Documents:

Verifying a signature

Any Signed Message has an iss attribute. This contains an Decentralized ID (DID).

A did-resolver is used to resolve the public key of the message.

uPort currently supports the following DID methods:

Anyone implementing a new DID method can follow the instructions in the did-resolver library and it should work with uPort libraries.