version 1.5, 2019/11/15 06:00:20 |
version 1.6, 2019/11/15 15:41:01 |
|
|
int |
int |
sk_enroll(int alg, const uint8_t *challenge, size_t challenge_len, |
sk_enroll(int alg, const uint8_t *challenge, size_t challenge_len, |
const char *application, uint8_t flags, |
const char *application, uint8_t flags, |
struct sk_enroll_response **enroll_reponse) |
struct sk_enroll_response **enroll_response) |
{ |
{ |
fido_cred_t *cred = NULL; |
fido_cred_t *cred = NULL; |
fido_dev_t *dev = NULL; |
fido_dev_t *dev = NULL; |
|
|
#ifdef SK_DEBUG |
#ifdef SK_DEBUG |
fido_init(FIDO_DEBUG); |
fido_init(FIDO_DEBUG); |
#endif |
#endif |
if (enroll_reponse == NULL) { |
if (enroll_response == NULL) { |
skdebug(__func__, "enroll_reponse == NULL"); |
skdebug(__func__, "enroll_response == NULL"); |
goto out; |
goto out; |
} |
} |
*enroll_reponse = NULL; |
*enroll_response = NULL; |
switch(alg) { |
switch(alg) { |
case SK_ECDSA: |
case SK_ECDSA: |
cose_alg = COSE_ES256; |
cose_alg = COSE_ES256; |
|
|
memcpy(response->attestation_cert, ptr, len); |
memcpy(response->attestation_cert, ptr, len); |
response->attestation_cert_len = len; |
response->attestation_cert_len = len; |
} |
} |
*enroll_reponse = response; |
*enroll_response = response; |
response = NULL; |
response = NULL; |
ret = 0; |
ret = 0; |
out: |
out: |