From ab2e71cc400c3226a450eaab321564f5a4471374 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Sun, 14 Aug 2022 01:16:53 +0200 Subject: [PATCH] By default, all CVC are self-generated (chr=car). Signed-off-by: Pol Henarejos --- src/hsm/cvc.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/hsm/cvc.c b/src/hsm/cvc.c index 2c5954c..57c07e8 100644 --- a/src/hsm/cvc.c +++ b/src/hsm/cvc.c @@ -28,6 +28,9 @@ #include "oid.h" #include "mbedtls/md.h" +extern const uint8_t *dev_name; +extern size_t dev_name_len; + size_t asn1_cvc_public_key_rsa(mbedtls_rsa_context *rsa, uint8_t *buf, size_t buf_len) { const uint8_t oid_rsa[] = { 0x04, 0x00, 0x7F, 0x00, 0x07, 0x02, 0x02, 0x02, 0x01, 0x02 }; size_t n_size = mbedtls_mpi_size(&rsa->N), e_size = mbedtls_mpi_size(&rsa->E); @@ -124,12 +127,12 @@ size_t asn1_cvc_cert_body(void *rsa_ecdsa, uint8_t key_type, uint8_t *buf, size_ size_t lencar = 0, lenchr = 0; if (asn1_find_tag(apdu.data, apdu.nc, 0x42, &lencar, &car) == false || lencar == 0 || car == NULL) { - car = (uint8_t *)"UTSRCACC100001"; - lencar = strlen((char *)car); + car = (uint8_t *)dev_name; + lencar = dev_name_len; } if (asn1_find_tag(apdu.data, apdu.nc, 0x5f20, &lenchr, &chr) == false || lenchr == 0 || chr == NULL) { - chr = (uint8_t *)"ESHSMCVCA00001"; - lenchr = strlen((char *)chr); + chr = (uint8_t *)dev_name; + lenchr = dev_name_len; } size_t car_size = asn1_len_tag(0x42, lencar), chr_size = asn1_len_tag(0x5f20, lenchr);