Lines Matching refs:ctx
88 struct pkcs7_parse_context *ctx; in pkcs7_parse_message() local
92 ctx = kzalloc(sizeof(struct pkcs7_parse_context), GFP_KERNEL); in pkcs7_parse_message()
93 if (!ctx) in pkcs7_parse_message()
95 ctx->msg = kzalloc(sizeof(struct pkcs7_message), GFP_KERNEL); in pkcs7_parse_message()
96 if (!ctx->msg) in pkcs7_parse_message()
98 ctx->sinfo = kzalloc(sizeof(struct pkcs7_signed_info), GFP_KERNEL); in pkcs7_parse_message()
99 if (!ctx->sinfo) in pkcs7_parse_message()
102 ctx->data = (unsigned long)data; in pkcs7_parse_message()
103 ctx->ppcerts = &ctx->certs; in pkcs7_parse_message()
104 ctx->ppsinfo = &ctx->msg->signed_infos; in pkcs7_parse_message()
107 ret = asn1_ber_decoder(&pkcs7_decoder, ctx, data, datalen); in pkcs7_parse_message()
113 msg = ctx->msg; in pkcs7_parse_message()
114 ctx->msg = NULL; in pkcs7_parse_message()
117 while (ctx->certs) { in pkcs7_parse_message()
118 struct x509_certificate *cert = ctx->certs; in pkcs7_parse_message()
119 ctx->certs = cert->next; in pkcs7_parse_message()
122 pkcs7_free_signed_info(ctx->sinfo); in pkcs7_parse_message()
124 pkcs7_free_message(ctx->msg); in pkcs7_parse_message()
126 kfree(ctx); in pkcs7_parse_message()
167 struct pkcs7_parse_context *ctx = context; in pkcs7_note_OID() local
169 ctx->last_oid = look_up_OID(value, vlen); in pkcs7_note_OID()
170 if (ctx->last_oid == OID__NR) { in pkcs7_note_OID()
174 (unsigned long)value - ctx->data, buffer); in pkcs7_note_OID()
186 struct pkcs7_parse_context *ctx = context; in pkcs7_sig_note_digest_algo() local
188 switch (ctx->last_oid) { in pkcs7_sig_note_digest_algo()
190 ctx->sinfo->sig.pkey_hash_algo = HASH_ALGO_MD4; in pkcs7_sig_note_digest_algo()
193 ctx->sinfo->sig.pkey_hash_algo = HASH_ALGO_MD5; in pkcs7_sig_note_digest_algo()
196 ctx->sinfo->sig.pkey_hash_algo = HASH_ALGO_SHA1; in pkcs7_sig_note_digest_algo()
199 ctx->sinfo->sig.pkey_hash_algo = HASH_ALGO_SHA256; in pkcs7_sig_note_digest_algo()
202 printk("Unsupported digest algo: %u\n", ctx->last_oid); in pkcs7_sig_note_digest_algo()
215 struct pkcs7_parse_context *ctx = context; in pkcs7_sig_note_pkey_algo() local
217 switch (ctx->last_oid) { in pkcs7_sig_note_pkey_algo()
219 ctx->sinfo->sig.pkey_algo = PKEY_ALGO_RSA; in pkcs7_sig_note_pkey_algo()
222 printk("Unsupported pkey algo: %u\n", ctx->last_oid); in pkcs7_sig_note_pkey_algo()
235 struct pkcs7_parse_context *ctx = context; in pkcs7_extract_cert() local
240 tag, (unsigned long)ctx - ctx->data); in pkcs7_extract_cert()
259 x509->index = ++ctx->x509_index; in pkcs7_extract_cert()
263 *ctx->ppcerts = x509; in pkcs7_extract_cert()
264 ctx->ppcerts = &x509->next; in pkcs7_extract_cert()
275 struct pkcs7_parse_context *ctx = context; in pkcs7_note_certificate_list() local
279 *ctx->ppcerts = ctx->msg->certs; in pkcs7_note_certificate_list()
280 ctx->msg->certs = ctx->certs; in pkcs7_note_certificate_list()
281 ctx->certs = NULL; in pkcs7_note_certificate_list()
282 ctx->ppcerts = &ctx->certs; in pkcs7_note_certificate_list()
294 struct pkcs7_parse_context *ctx = context; in pkcs7_note_data() local
298 ctx->msg->data = value; in pkcs7_note_data()
299 ctx->msg->data_len = vlen; in pkcs7_note_data()
300 ctx->msg->data_hdrlen = hdrlen; in pkcs7_note_data()
301 ctx->msg->data_type = ctx->last_oid; in pkcs7_note_data()
312 struct pkcs7_parse_context *ctx = context; in pkcs7_sig_note_authenticated_attr() local
316 switch (ctx->last_oid) { in pkcs7_sig_note_authenticated_attr()
320 ctx->sinfo->msgdigest = value; in pkcs7_sig_note_authenticated_attr()
321 ctx->sinfo->msgdigest_len = vlen; in pkcs7_sig_note_authenticated_attr()
335 struct pkcs7_parse_context *ctx = context; in pkcs7_sig_note_set_of_authattrs() local
338 ctx->sinfo->authattrs = value - (hdrlen - 1); in pkcs7_sig_note_set_of_authattrs()
339 ctx->sinfo->authattrs_len = vlen + (hdrlen - 1); in pkcs7_sig_note_set_of_authattrs()
350 struct pkcs7_parse_context *ctx = context; in pkcs7_sig_note_serial() local
351 ctx->raw_serial = value; in pkcs7_sig_note_serial()
352 ctx->raw_serial_size = vlen; in pkcs7_sig_note_serial()
363 struct pkcs7_parse_context *ctx = context; in pkcs7_sig_note_issuer() local
364 ctx->raw_issuer = value; in pkcs7_sig_note_issuer()
365 ctx->raw_issuer_size = vlen; in pkcs7_sig_note_issuer()
376 struct pkcs7_parse_context *ctx = context; in pkcs7_sig_note_signature() local
379 BUG_ON(ctx->sinfo->sig.pkey_algo != PKEY_ALGO_RSA); in pkcs7_sig_note_signature()
385 ctx->sinfo->sig.mpi[0] = mpi; in pkcs7_sig_note_signature()
386 ctx->sinfo->sig.nr_mpi = 1; in pkcs7_sig_note_signature()
397 struct pkcs7_parse_context *ctx = context; in pkcs7_note_signed_info() local
398 struct pkcs7_signed_info *sinfo = ctx->sinfo; in pkcs7_note_signed_info()
402 kid = asymmetric_key_generate_id(ctx->raw_serial, in pkcs7_note_signed_info()
403 ctx->raw_serial_size, in pkcs7_note_signed_info()
404 ctx->raw_issuer, in pkcs7_note_signed_info()
405 ctx->raw_issuer_size); in pkcs7_note_signed_info()
410 sinfo->index = ++ctx->sinfo_index; in pkcs7_note_signed_info()
411 *ctx->ppsinfo = sinfo; in pkcs7_note_signed_info()
412 ctx->ppsinfo = &sinfo->next; in pkcs7_note_signed_info()
413 ctx->sinfo = kzalloc(sizeof(struct pkcs7_signed_info), GFP_KERNEL); in pkcs7_note_signed_info()
414 if (!ctx->sinfo) in pkcs7_note_signed_info()