Skip to content

Latest commit

 

History

History
23 lines (12 loc) · 1.43 KB

README.md

File metadata and controls

23 lines (12 loc) · 1.43 KB

Purpose

This is a fork of OpenSSL to enable TLS 1.3 authentication through the use of Verifiable Credentials. The original OpenSSL README can be found at README-OPENSSL

Architecture

This version of OpenSSL leverages the ssi-provider to perform operations that involve the usage of Verifiable Credentials.

Build

We have added the vcauthtls option in the Configure file to enable VC authentication in the TLS 1.3 handshake. The option is disabled by default, so when you run the Configure file you need to add the option enable-vcauthtls.

Usage

The creation of the Self-Sovereign Identity can be performed through the genpkey application treating the DID Document as the public part and the VC as the private part of an asymmetric keypair.

openssl genpkey -algorithm VC -out did-document.pem -outpubkey vc.pem -provider default -provider ssi

A TLS 1.3 handshake with VC authentication can be performed locally by running the s_server and s_client applications with the following options:

openssl s_server -accept 44330 -www -cert server-vc.pem -key server-did-document.pem -verify 1 -enable_client_rpk -enable_server_rpk -tls1_3 -provider default -provider ssi

openssl s_client -connect localhost:44330 -cert client-vc.pem -key client-did-document.pem -enable_client_rpk -enable_server_rpk -tls1_3 -provider default -provider ssi