wickr-crypto-c

Data Fields
wickr_identity Struct Reference
wickr_identity

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

## 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:

- src/wickrcrypto/include/wickrcrypto/identity.h