wickr-crypto-c
Data Fields
wickr_identity Struct Reference

A signing identity on the Wickr system. More...

#include <identity.h>

Data Fields

wickr_identity_type type
 
wickr_buffer_tidentifier
 
wickr_ec_key_tsig_key
 
wickr_ecdsa_result_tsignature
 

Detailed Description

A signing identity on the Wickr system.

ROOT - Account level, serves as the root of trust for all nodes associated with it. The root sig_key signs each node to provide authenticity of its ownership NODE - Application level identifier, serves as the root of trust for all ephemeral keypairs associated with it, the node is owned / signed by a ROOT node. Nodes are messaging endpoints, owned by a particular root for the purpose of multi-client messaging

Identities are meant to be cached, pinned, and optimally "verified" either out of band, or in band using a feature such as Wickr's "video verification". When verifying a new node identity, the root that was previously cached should be loaded and used to perform the signature validation of the new node. Node identities should also be cached, for the purpose of being able to consistently verify ephemeral keypairs signed by that node as part of generating message key exchanges

Field Documentation

◆ identifier

wickr_identity::identifier

a system wide unique value for this identity

◆ sig_key

wickr_identity::sig_key

the signing key of the identity, will contain private information for your local identity to support signing, and only public information of other identities

◆ signature

wickr_identity::signature

the signature of the public 'sig_key', signed by the root private 'sig_key'. NULL if root identity

◆ type

wickr_identity::type

the type of identity (NODE OR ROOT)


The documentation for this struct was generated from the following file: