Here's a list of the major files that have been added/modified for the SSI version of OpenSSL.
did.h
: defines theDID_DOC
structure to store the fields of a DID document.vc.h
:VC
contains the fields of a VC, while aVC_ISSUER
is identified by the name of its public key and the public key itself.evp_ssi.h
: definesEVP_VC
andEVP_DID
structures
core_dispatch.h
: definesOP_DID
andOP_VC
operations.OP_DID
offers the functionalities to create, resolve, update and delete a DID.OP_VC
allows to create, serialize, deserialize and verify a VC.
core_names.h
: defines params for theOP_DID
andOP_VC
operations.evp_ssi.h
: declaresEVP_DID
andEVP_VC
functions
evp_local_ssi.h
: definition ofEVP_VC_CTX
andEVP_DID_CTX
structures.did_lib.c
anddid_meth.c
: definition ofEVP_DID
functionsvc_lib.c
andvc_meth.c
: definition ofEVP_VC
functions
-
ssl_local.h
: definesssi_params_st
,did_pkey_st
anddid_st
structures. The first one contains the fields for the ssi params extension, the second and third ones have the same functionality ofcert_pkey_st
andcert_st
but for DID documents. -
ssl_local_did.h
anddid.c
: contain respectively the declaration and definition of functions to fill SSL_CTX and SSL structures with DID related content. -
ssl_local_vc.h
andvc.c
: contain respectively the declaration and definition of functions to fill SSL_CTX and SSL structures with VC related content.
-
statem_local_ssi.h
andstatem_local_ssi.c
: contains respectively declaration and definition of functions to construct and process the new extension/messages. -
statem_server.c
andstatem_client.c
: contain modifications to their write and read state machines to construct and process the new messages.
-
apps/s_client.c
andapps/s_server.c
: present five new extensions:-did
: endpoint's DID-did_key
: file containing the endpoint's DID private key.-did_methods
: list of DID methods supported by the client.-vc
: expects a file that contains the endpoint's VC.-VCIfile
: expects a file containing the list of VC issuers trusted by the client.
If
-did_methods
option is present the endpoint will send ssi parameters extension with authentication mode set to DID. If in addition to the latter-VCIfile
is present the endpoint will send ssi parameters extension with authentication mode set to VC. On client side if none of the two options are present but-did
option and (optionally)-vc
are present it will send the ssi parameters extension with authentication mode set to 0 and a 0 length-value of did methods.