29 #include "crypto_engine.h" 30 #include "root_keys.h" 31 #include "fingerprint.h" 44 #define IDENTIFIER_LEN 32 48 typedef enum { IDENTITY_TYPE_ROOT, IDENTITY_TYPE_NODE } wickr_identity_type;
wickr_identity_chain_t * wickr_identity_chain_copy(const wickr_identity_chain_t *source)
A signing identity on the Wickr system.
Definition: identity.h:85
void wickr_identity_destroy(wickr_identity_t **identity)
wickr_identity_chain_status status
Definition: identity.h:111
Representation of public and private Elliptic Curve Keypair information as buffers.
Definition: eckey.h:90
wickr_buffer_t * identifier
Definition: identity.h:87
void wickr_identity_chain_destroy(wickr_identity_chain_t **chain)
wickr_identity_t * wickr_node_identity_gen(const wickr_crypto_engine_t *engine, const wickr_identity_t *root_identity)
Represents an array of bytes and the length of the allocation associated with those bytes.
Definition: buffer.h:51
wickr_identity_t * wickr_identity_create(wickr_identity_type type, wickr_buffer_t *identifier, wickr_ec_key_t *sig_key, wickr_ecdsa_result_t *signature)
wickr_identity_type type
Definition: identity.h:86
wickr_identity_t * root
Definition: identity.h:112
Elliptic Curve Digital Signature Algorithm Result.
Definition: ecdsa.h:54
bool wickr_identity_chain_validate(wickr_identity_chain_t *chain, const wickr_crypto_engine_t *engine)
wickr_fingerprint_t * wickr_identity_get_bilateral_fingerprint(const wickr_identity_t *identity, const wickr_identity_t *remote_identity, wickr_crypto_engine_t engine)
wickr_identity_t * wickr_identity_copy(const wickr_identity_t *source)
wickr_fingerprint_t * wickr_identity_get_fingerprint(const wickr_identity_t *identity, wickr_crypto_engine_t engine)
wickr_identity_t * wickr_identity_create_from_buffer(const wickr_buffer_t *buffer, const wickr_crypto_engine_t *engine)
A fingerprint representation of a combination of signature keys / identifiers.
Definition: fingerprint.h:75
wickr_identity_t * node
Definition: identity.h:113
wickr_identity_chain_status
Definition: identity.h:61
wickr_ecdsa_result_t * signature
Definition: identity.h:89
wickr_ecdsa_result_t * wickr_identity_sign(const wickr_identity_t *identity, const wickr_crypto_engine_t *engine, const wickr_buffer_t *data)
wickr_ec_key_t * sig_key
Definition: identity.h:88
Represents a root -> node relationship as well as it's signature status.
Definition: identity.h:110
Interface to a set of cryptographic operations used throughout the library. Currently the default imp...
Definition: crypto_engine.h:53
wickr_buffer_t * wickr_identity_serialize(const wickr_identity_t *identity)
wickr_identity_chain_t * wickr_identity_chain_create(wickr_identity_t *root, wickr_identity_t *node)