wickr-crypto-c
|
A signing identity on the Wickr system. More...
#include <identity.h>
Data Fields | |
wickr_identity_type | type |
wickr_buffer_t * | identifier |
wickr_ec_key_t * | sig_key |
wickr_ecdsa_result_t * | signature |
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
wickr_identity::identifier |
a system wide unique value for this identity
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
wickr_identity::signature |
the signature of the public 'sig_key', signed by the root private 'sig_key'. NULL if root identity
wickr_identity::type |
the type of identity (NODE OR ROOT)