#ifndef KEYGEN_HEADERS_SEEN //check header file for re-def conflicts #define KEYGEN_HEADERS_SEEN #include #include #include #include #include "mbedtls/config.h" #include "mbedtls/aes.h" #include "mbedtls/bignum.h" #include "mbedtls/ctr_drbg.h" #include "mbedtls/entropy.h" #include "mbedtls/ecp.h" #include "mbedtls/ecdh.h" #include "mbedtls/ecdsa.h" #include "mbedtls/hmac_drbg.h" #include "mbedtls/hkdf.h" #include "mbedtls/md.h" #include "mbedtls/pk.h" #include "mbedtls/rsa.h" #include "mbedtls/sha1.h" #include "mbedtls/sha256.h" #include "defines.h" /* DIMASTATUS AsymmKeyGen(KeyDrv_context* KD_ctx); DIMASTATUS use_dev_random(void *data, unsigned char *output, size_t len, size_t *olen ); DIMASTATUS seedRNGSource(void *data, unsigned char *output, size_t len); */ //Create Asymmetric device key from CDI key //Create KD contxt, fill in information required for the asymm key derivation //call KeyGen with KD ctx //export Pub key? //export Pub cert? //what else can we do? key chains? DIMASTATUS AsymmKeyGen(KeyDrv_context * KD_ctx); //If KD->phrase is IDENTITY, do not write priv key file outside SS. issue warning. DIMASTATUS WritePrivKey(KeyDrv_context * KD_ctx, mbedtls_pk_context * key_ctx); DIMASTATUS WritePubKey(KeyDrv_context * KD_ctx, mbedtls_pk_context * key_ctx); #endif //KEYGEN_HEADERS_SEEN