r value is already checked on line 113 (#1582)
This commit is contained in:
parent
f161c3a178
commit
70d690ace7
|
@ -109,34 +109,33 @@ sc_pkcs15emu_esteid_init (sc_pkcs15_card_t * p15card)
|
|||
r = sc_pkcs15emu_add_x509_cert(p15card, &cert_obj, &cert_info);
|
||||
if (r < 0)
|
||||
return SC_ERROR_INTERNAL;
|
||||
if (i == 0) {
|
||||
sc_pkcs15_cert_t *cert = NULL;
|
||||
r = sc_pkcs15_read_certificate(p15card, &cert_info, &cert);
|
||||
if (r < 0)
|
||||
return SC_ERROR_INTERNAL;
|
||||
if (cert->key->algorithm == SC_ALGORITHM_EC)
|
||||
field_length = cert->key->u.ec.params.field_length;
|
||||
else
|
||||
modulus_length = cert->key->u.rsa.modulus.len * 8;
|
||||
if (r == SC_SUCCESS) {
|
||||
static const struct sc_object_id cn_oid = {{ 2, 5, 4, 3, -1 }};
|
||||
u8 *cn_name = NULL;
|
||||
size_t cn_len = 0;
|
||||
sc_pkcs15_get_name_from_dn(card->ctx, cert->subject,
|
||||
cert->subject_len, &cn_oid, &cn_name, &cn_len);
|
||||
if (cn_len > 0) {
|
||||
char *token_name = malloc(cn_len+1);
|
||||
if (token_name) {
|
||||
memcpy(token_name, cn_name, cn_len);
|
||||
token_name[cn_len] = '\0';
|
||||
set_string(&p15card->tokeninfo->label, (const char*)token_name);
|
||||
free(token_name);
|
||||
}
|
||||
}
|
||||
free(cn_name);
|
||||
sc_pkcs15_free_certificate(cert);
|
||||
if (i != 0)
|
||||
continue;
|
||||
|
||||
sc_pkcs15_cert_t *cert = NULL;
|
||||
r = sc_pkcs15_read_certificate(p15card, &cert_info, &cert);
|
||||
if (r < 0)
|
||||
return SC_ERROR_INTERNAL;
|
||||
if (cert->key->algorithm == SC_ALGORITHM_EC)
|
||||
field_length = cert->key->u.ec.params.field_length;
|
||||
else
|
||||
modulus_length = cert->key->u.rsa.modulus.len * 8;
|
||||
static const struct sc_object_id cn_oid = {{ 2, 5, 4, 3, -1 }};
|
||||
u8 *cn_name = NULL;
|
||||
size_t cn_len = 0;
|
||||
sc_pkcs15_get_name_from_dn(card->ctx, cert->subject,
|
||||
cert->subject_len, &cn_oid, &cn_name, &cn_len);
|
||||
if (cn_len > 0) {
|
||||
char *token_name = malloc(cn_len+1);
|
||||
if (token_name) {
|
||||
memcpy(token_name, cn_name, cn_len);
|
||||
token_name[cn_len] = '\0';
|
||||
set_string(&p15card->tokeninfo->label, (const char*)token_name);
|
||||
free(token_name);
|
||||
}
|
||||
}
|
||||
free(cn_name);
|
||||
sc_pkcs15_free_certificate(cert);
|
||||
}
|
||||
|
||||
/* the file with key pin info (tries left) */
|
||||
|
|
Loading…
Reference in New Issue