api.h File Reference

Intel(R) EPID SDK member API. More...

#include <stddef.h>
#include "epid/common/bitsupplier.h"
#include "epid/common/epiddefs.h"
#include "epid/common/errors.h"
#include "epid/common/types.h"

Typedefs

typedef struct MemberCtx MemberCtx
 Internal context of member.
 

Functions

EpidStatus EpidMemberCreate (MemberParams const *params, MemberCtx **ctx)
 Allocates and initializes a new member context. More...
 
EpidStatus EpidMemberGetSize (MemberParams const *params, size_t *context_size)
 Computes the size in bytes required for a member context. More...
 
EpidStatus EpidMemberInit (MemberParams const *params, MemberCtx *ctx)
 Initializes a new member context. More...
 
EpidStatus EpidCreateJoinRequest (MemberCtx *ctx, GroupPubKey const *pub_key, IssuerNonce const *ni, JoinRequest *join_request)
 Creates a request to join a group. More...
 
EpidStatus EpidProvisionCredential (MemberCtx *ctx, GroupPubKey const *pub_key, MembershipCredential const *credential, MemberPrecomp const *precomp_str)
 Provisions a member context from a membership credential. More...
 
EpidStatus EpidProvisionCompressed (MemberCtx *ctx, GroupPubKey const *pub_key, CompressedPrivKey const *compressed_privkey, MemberPrecomp const *precomp_str)
 Provisions a member context from a compressed private key. More...
 
EpidStatus EpidProvisionKey (MemberCtx *ctx, GroupPubKey const *pub_key, PrivKey const *priv_key, MemberPrecomp const *precomp_str)
 Provisions a member context from a private key. More...
 
EpidStatus EpidMemberStartup (MemberCtx *ctx)
 Change member from setup state to normal operation. More...
 
void EpidMemberDeinit (MemberCtx *ctx)
 De-initializes an existing member context buffer. More...
 
void EpidMemberDelete (MemberCtx **ctx)
 Deletes an existing member context. More...
 
EpidStatus EpidMemberSetHashAlg (MemberCtx *ctx, HashAlg hash_alg)
 Sets the hash algorithm to be used by a member. More...
 
EpidStatus EpidMemberSetSigRl (MemberCtx *ctx, SigRl const *sig_rl, size_t sig_rl_size)
 Sets the signature based revocation list to be used by a member. More...
 
size_t EpidGetSigSize (SigRl const *sig_rl)
 Computes the size in bytes required for an Intel(R) EPID signature. More...
 
EpidStatus EpidSign (MemberCtx const *ctx, void const *msg, size_t msg_len, void const *basename, size_t basename_len, EpidSignature *sig, size_t sig_len)
 Writes an Intel(R) EPID signature. More...
 
EpidStatus EpidRegisterBasename (MemberCtx *ctx, void const *basename, size_t basename_len)
 Registers a basename with a member. More...
 
EpidStatus EpidClearRegisteredBasenames (MemberCtx *ctx)
 Clears registered basenames. More...
 
EpidStatus EpidAddPreSigs (MemberCtx *ctx, size_t number_presigs)
 Extends the member's pool of pre-computed signatures. More...
 
size_t EpidGetNumPreSigs (MemberCtx const *ctx)
 Gets the number of pre-computed signatures in the member's pool. More...
 
EpidStatus EpidDecompressPrivKey (GroupPubKey const *pub_key, CompressedPrivKey const *compressed_privkey, PrivKey *priv_key)
 Decompresses compressed member private key. More...
 

Detailed Description

Intel(R) EPID SDK member API.