- commands
load_creds.c
:load_vc()
andload_did()
throughswanctl
swanctl.h
: add vc and did directories to store VCs and DIDs
-
credentials/
credential_manager.h/.c
: added create_vc_enumerator, and did_public_enumerator and get_did_private.credential_set.h
: addedcreate_vc_enumerator()
and create_did_enumerator(). The credentials_set interface is implemented by all the files in thesets
directory.builder.h/.c
: addedBUILD_VC_CREATE
andBUILD_VC_VERIFY
.cred_encoding.h
: added DID and VC cred encodingcredential_factory.h
:CRED_VERIFIABLE_CREDENTIAL
andCRED_DECENTRALIZED_IDENTIFIER
credential typescredential_factory.c
: the create method iterates over CRED_VERIFIABLE_CREDENTIAL and CRED_DECENTRALIZED_IDENTIFIERauth_cfg.h/.c
: added VC authentication rule
-
sets/
auth_cfg_wrapper.c
: added a vc_enumerator to enumerate over peer VCs to check the AUTHcallback_cred.c
: null pointer to create_did_private_enumerator and create_vc_enumerator()cert_cache.c
: null pointer tocreate_did_private_enumerator()
andcreate_vc_enumerator()
mem_cred.h
:add_vc()
,add_vc_ref()
andget_vc_ref()
mem_cred.c
:create_vc_enumerator()
andcreate_did_private_enumerator()
ocsp_response_wrapper.c
: null pointer tocreate_did_private_enumerator()
andcreate_vc_enumerator()
-
vcs/
verifiable_credential.h/.c
: created the interface for the VC credential that will be implemented by thevc_iota
plugin.
-
dids/
decentralized_identifier.h/.c:
created the interface for the DID credential that will be implemented in thevc_iota
plugin bydid_iota.h/.c
.
-
plugins/
plugin_feature.h/c
: added the VC and DID plugin features.- vc_iota/
vc_iota.h/.c
: implements theverifiable_credential_t
interface according to IOTA identitydid_iota.h/.c
: implements thedecentralized_identifier_t
interface according to IOTA identityvc_iota_plugin.h/.c
:- identity.h: identity-cbindings interface
- pem/
pem_encoder.c/h
: added encoding of VC and DID to thepem_encoder_encode()
methodpem_builder.c/h
: add pem_vc_load() and did_pem_load() to parse the PEM file when loading credentials.pem_plugin.c
: added VC and DID features
- plugins/
- vici/
vici_cred.c/.h
: load_vc and load_did to create the VC and DID credentials and add them to the credential manager.vici_config.c
: I made additions to load the VC configuration from the swanctl.confvici_authority.c
: null pointer tocreate_did_private_enumerator()
andcreate_vc_enumerator()
- vici/
- sa/
ike_sa.h
: addCOND_VCREQ_SEEN
- ikev2/
- authenticators/
pubkey_authenticator.c
:sign_did()
to sign the AUTH payload with the DID privateky.
- tasks/
ike_cert_pre.c
: functions that build and process the CERTREQ payload with VC and creates the CERT payload with VCike_cert_post.c
: functions that build CERT payload with VC.ike_establish.c
: add time functionsike_init
: add time functions
- authenticators/
- encoding/payloads/
cert_payload.h/.c
: creates the CERT payload with VC.certreq_payload.h/.c
: creates the CERTREQ payload with VC
- config/
peer_cfg.c/.h
: added vc_policy for sending the VCike_cfg.h/.c
: send vc_certreq
- commands/
gen.c
: added the option and functions< to generate a VC and DID document
pki.c
: DID and VC encoding