Lines Matching refs:key
72 void vb2_private_key_free(struct vb2_private_key *key) in vb2_private_key_free() argument
74 if (!key) in vb2_private_key_free()
77 if (key->rsa_private_key) in vb2_private_key_free()
78 RSA_free(key->rsa_private_key); in vb2_private_key_free()
80 if (key->desc) in vb2_private_key_free()
81 free(key->desc); in vb2_private_key_free()
83 free(key); in vb2_private_key_free()
92 struct vb2_private_key *key; in vb2_private_key_unpack() local
124 key = calloc(1, sizeof(*key)); in vb2_private_key_unpack()
125 if (!key) in vb2_private_key_unpack()
129 key->sig_alg = pkey->sig_alg; in vb2_private_key_unpack()
130 key->hash_alg = pkey->hash_alg; in vb2_private_key_unpack()
131 key->guid = pkey->guid; in vb2_private_key_unpack()
136 free(key); in vb2_private_key_unpack()
141 key->rsa_private_key = d2i_RSAPrivateKey(0, &start, in vb2_private_key_unpack()
143 if (!key->rsa_private_key) { in vb2_private_key_unpack()
144 free(key); in vb2_private_key_unpack()
152 key, (const char *)(buf + pkey->c.fixed_size))) { in vb2_private_key_unpack()
153 vb2_private_key_free(key); in vb2_private_key_unpack()
158 *key_ptr = key; in vb2_private_key_unpack()
185 struct vb2_private_key *key; in vb2_private_key_read_pem() local
191 key = calloc(1, sizeof(*key)); in vb2_private_key_read_pem()
192 if (!key) in vb2_private_key_read_pem()
198 free(key); in vb2_private_key_read_pem()
202 key->rsa_private_key = PEM_read_RSAPrivateKey(f, NULL, NULL, NULL); in vb2_private_key_read_pem()
205 if (!key->rsa_private_key) { in vb2_private_key_read_pem()
206 free(key); in vb2_private_key_read_pem()
210 *key_ptr = key; in vb2_private_key_read_pem()
214 int vb2_private_key_set_desc(struct vb2_private_key *key, const char *desc) in vb2_private_key_set_desc() argument
216 if (key->desc) in vb2_private_key_set_desc()
217 free(key->desc); in vb2_private_key_set_desc()
220 key->desc = strdup(desc); in vb2_private_key_set_desc()
221 if (!key->desc) in vb2_private_key_set_desc()
224 key->desc = NULL; in vb2_private_key_set_desc()
230 int vb2_private_key_write(const struct vb2_private_key *key, in vb2_private_key_write() argument
238 .sig_alg = key->sig_alg, in vb2_private_key_write()
239 .hash_alg = key->hash_alg, in vb2_private_key_write()
240 .guid = key->guid, in vb2_private_key_write()
247 memcpy(&pkey.guid, &key->guid, sizeof(pkey.guid)); in vb2_private_key_write()
249 pkey.c.desc_size = vb2_desc_size(key->desc); in vb2_private_key_write()
251 if (key->sig_alg != VB2_SIG_NONE) { in vb2_private_key_write()
253 rsalen = i2d_RSAPrivateKey(key->rsa_private_key, &rsabuf); in vb2_private_key_write()
272 if (key->desc) in vb2_private_key_write()
273 strcpy((char *)buf + pkey.c.fixed_size, key->desc); in vb2_private_key_write()
295 static const struct vb2_private_key key = { in vb2_private_key_hash() local
301 *key_ptr = &key; in vb2_private_key_hash()
308 static const struct vb2_private_key key = { in vb2_private_key_hash() local
314 *key_ptr = &key; in vb2_private_key_hash()
321 static const struct vb2_private_key key = { in vb2_private_key_hash() local
327 *key_ptr = &key; in vb2_private_key_hash()
339 struct vb2_public_key *key; in vb2_public_key_alloc() local
343 uint32_t buf_size = sizeof(*key) + sizeof(struct vb2_guid) + in vb2_public_key_alloc()
349 key = calloc(1, buf_size); in vb2_public_key_alloc()
350 if (!key) in vb2_public_key_alloc()
353 key->guid = (struct vb2_guid *)(key + 1); in vb2_public_key_alloc()
354 key->sig_alg = sig_alg; in vb2_public_key_alloc()
356 *key_ptr = key; in vb2_public_key_alloc()
361 void vb2_public_key_free(struct vb2_public_key *key) in vb2_public_key_free() argument
363 if (!key) in vb2_public_key_free()
366 if (key->desc) in vb2_public_key_free()
367 free((void *)key->desc); in vb2_public_key_free()
369 free(key); in vb2_public_key_free()
372 uint8_t *vb2_public_key_packed_data(struct vb2_public_key *key) in vb2_public_key_packed_data() argument
374 return (uint8_t *)(key->guid + 1); in vb2_public_key_packed_data()
380 struct vb2_public_key *key = NULL; in vb2_public_key_read_keyb() local
400 if (vb2_public_key_alloc(&key, sig_alg)) { in vb2_public_key_read_keyb()
406 key_buf = vb2_public_key_packed_data(key); in vb2_public_key_read_keyb()
410 if (vb2_unpack_key_data(key, key_buf, key_size)) { in vb2_public_key_read_keyb()
411 vb2_public_key_free(key); in vb2_public_key_read_keyb()
415 *key_ptr = key; in vb2_public_key_read_keyb()
420 int vb2_public_key_set_desc(struct vb2_public_key *key, const char *desc) in vb2_public_key_set_desc() argument
422 if (key->desc) in vb2_public_key_set_desc()
423 free((void *)key->desc); in vb2_public_key_set_desc()
426 key->desc = strdup(desc); in vb2_public_key_set_desc()
427 if (!key->desc) in vb2_public_key_set_desc()
430 key->desc = NULL; in vb2_public_key_set_desc()
439 struct vb2_public_key key; in vb2_packed_key_read() local
449 if (vb2_unpack_key(&key, buf, size)) in vb2_packed_key_read()
460 struct vb2_packed_key key = { in vb2_public_key_pack() local
471 key.c.fixed_size = sizeof(key); in vb2_public_key_pack()
472 key.c.desc_size = vb2_desc_size(pubk->desc); in vb2_public_key_pack()
473 key.key_offset = key.c.fixed_size + key.c.desc_size; in vb2_public_key_pack()
476 key.key_size = vb2_packed_key_size(pubk->sig_alg); in vb2_public_key_pack()
477 if (!key.key_size) in vb2_public_key_pack()
481 key.c.total_size = key.key_offset + key.key_size; in vb2_public_key_pack()
484 key.key_version = pubk->version; in vb2_public_key_pack()
485 key.sig_alg = pubk->sig_alg; in vb2_public_key_pack()
486 key.hash_alg = pubk->hash_alg; in vb2_public_key_pack()
487 key.guid = *pubk->guid; in vb2_public_key_pack()
490 buf = calloc(1, key.c.total_size); in vb2_public_key_pack()
493 memcpy(buf, &key, sizeof(key)); in vb2_public_key_pack()
497 strcpy((char *)(buf + key.c.fixed_size), pubk->desc); in vb2_public_key_pack()
498 buf[key.c.fixed_size + key.c.desc_size - 1] = 0; in vb2_public_key_pack()
503 buf32 = (uint32_t *)(buf + key.key_offset); in vb2_public_key_pack()
516 int vb2_public_key_hash(struct vb2_public_key *key, in vb2_public_key_hash() argument
522 key->desc = "Unsigned SHA1"; in vb2_public_key_hash()
527 key->desc = "Unsigned SHA-256"; in vb2_public_key_hash()
532 key->desc = "Unsigned SHA-512"; in vb2_public_key_hash()
539 key->sig_alg = VB2_SIG_NONE; in vb2_public_key_hash()
540 key->hash_alg = hash_alg; in vb2_public_key_hash()
541 key->guid = vb2_hash_guid(hash_alg); in vb2_public_key_hash()
564 int vb2_public_key_write(const struct vb2_public_key *key, in vb2_public_key_write() argument
570 ret = vb2_public_key_pack(&pkey, key); in vb2_public_key_write()