Lines Matching full:key

60  * @brief decode a key packet
67 decode_key(int tag, unsigned char **pptr, size_t len, OpenPGP_key *key) in decode_key() argument
86 key->key = NULL; in decode_key()
90 /* comput key fingerprint and id @sa rfc4880:12.2 */ in decode_key()
109 key->id = octets2hex(&mdata[mlen - 8], 8); in decode_key()
115 key->sig_alg = *ptr++; in decode_key()
116 if (key->sig_alg == 1) { /* RSA */ in decode_key()
118 key->key = NEW(br_rsa_public_key); in decode_key()
119 if (!key->key) in decode_key()
121 key->key->n = mpi2bn(&ptr, &key->key->nlen); in decode_key()
122 key->key->e = mpi2bn(&ptr, &key->key->elen); in decode_key()
129 key->key = EVP_PKEY_new(); in decode_key()
130 if (!key->key || !rsa->n || !rsa->e) { in decode_key()
133 if (!EVP_PKEY_set1_RSA(key->key, rsa)) in decode_key()
141 free(key->key); in decode_key()
142 key->key = NULL; in decode_key()
146 if (key->key) { in decode_key()
147 EVP_PKEY_free(key->key); in decode_key()
148 key->key = NULL; in decode_key()
161 OpenPGP_key *key; in load_key_buf() local
174 key = NEW(OpenPGP_key); in load_key_buf()
175 if (key) { in load_key_buf()
177 key); in load_key_buf()
179 free(key); in load_key_buf()
180 key = NULL; in load_key_buf()
186 key->user = NEW(OpenPGP_user); in load_key_buf()
188 (decoder_t)decode_user, key->user); in load_key_buf()
192 return (key); in load_key_buf()
198 * @brief add a key to our list
201 openpgp_trust_add(OpenPGP_key *key) in openpgp_trust_add() argument
210 if (key && openpgp_trust_get(key->id) == NULL) { in openpgp_trust_add()
212 printf("openpgp_trust_add(%s)\n", key->id); in openpgp_trust_add()
213 LIST_INSERT_HEAD(&trust_list, key, entries); in openpgp_trust_add()
223 OpenPGP_key *key; in openpgp_trust_add_buf() local
225 if ((key = load_key_buf(buf, nbytes))) { in openpgp_trust_add_buf()
226 openpgp_trust_add(key); in openpgp_trust_add_buf()
228 return (key != NULL); in openpgp_trust_add_buf()
240 OpenPGP_key *key, *tkey; in openpgp_trust_revoke() local
244 LIST_FOREACH(key, &trust_list, entries) { in openpgp_trust_revoke()
245 if (strcmp(key->id, keyID) == 0) { in openpgp_trust_revoke()
246 tkey = key; in openpgp_trust_revoke()
248 printf("openpgp_trust_revoke(%s)\n", key->id); in openpgp_trust_revoke()
249 memset(key, 0, sizeof(OpenPGP_key)); in openpgp_trust_revoke()
250 free(key); in openpgp_trust_revoke()
258 * @brief if keyID is in our list return the key
260 * @return key or NULL
265 OpenPGP_key *key; in openpgp_trust_get() local
269 LIST_FOREACH(key, &trust_list, entries) { in openpgp_trust_get()
270 if (strcmp(key->id, keyID) == 0) in openpgp_trust_get()
271 return (key); in openpgp_trust_get()
277 * @brief load a key from file
284 OpenPGP_key *key; in load_key_file() local
287 key = load_key_buf(data, n); in load_key_file()
289 openpgp_trust_add(key); in load_key_file()
290 return (key); in load_key_file()
307 * @brief lookup key id in trust store
330 * @brief return key if trusted
335 OpenPGP_key *key; in load_key_id() local
337 key = openpgp_trust_get(keyID); in load_key_id()
339 if (!key) in load_key_id()
340 key = load_trusted_key_id(keyID); in load_key_id()
342 DEBUG_PRINTF(2, ("load_key_id(%s): %s\n", keyID, key ? "found" : "nope")); in load_key_id()
343 return (key); in load_key_id()
354 OpenPGP_key *key; in openpgp_trust_init() local
366 key = load_key_buf((unsigned char *)cp, n); in openpgp_trust_init()
368 if (key) { in openpgp_trust_init()
369 openpgp_trust_add(key); in openpgp_trust_init()