Lines Matching refs:rsa_key

195 	struct starfive_rsa_key *key = &ctx->rsa_key;
276 struct starfive_rsa_key *key = &ctx->rsa_key;
311 struct starfive_rsa_key *key = &ctx->rsa_key;
343 struct starfive_rsa_key *key = &ctx->rsa_key;
369 static int starfive_rsa_set_n(struct starfive_rsa_key *rsa_key,
380 rsa_key->key_sz = vlen;
381 bitslen = rsa_key->key_sz << 3;
388 rsa_key->n = kmemdup(ptr, rsa_key->key_sz, GFP_KERNEL);
389 if (!rsa_key->n)
394 rsa_key->key_sz = 0;
395 rsa_key->n = NULL;
396 starfive_rsa_free_key(rsa_key);
400 static int starfive_rsa_set_e(struct starfive_rsa_key *rsa_key,
413 if (!rsa_key->key_sz || !vlen || vlen > rsa_key->key_sz) {
414 rsa_key->e = NULL;
418 rsa_key->e = kzalloc(rsa_key->key_sz, GFP_KERNEL);
419 if (!rsa_key->e)
427 rsa_key->e_bitlen = (vlen - 1) * 8 + loop;
429 memcpy(rsa_key->e + (rsa_key->key_sz - vlen), ptr, vlen);
434 static int starfive_rsa_set_d(struct starfive_rsa_key *rsa_key,
449 if (!rsa_key->key_sz || !vlen || vlen > rsa_key->key_sz)
453 rsa_key->d = kzalloc(rsa_key->key_sz, GFP_KERNEL);
454 if (!rsa_key->d)
462 rsa_key->d_bitlen = (vlen - 1) * 8 + loop;
464 memcpy(rsa_key->d + (rsa_key->key_sz - vlen), ptr, vlen);
468 rsa_key->d = NULL;
476 struct rsa_key raw_key = {NULL};
477 struct starfive_rsa_key *rsa_key = &ctx->rsa_key;
487 starfive_rsa_free_key(rsa_key);
493 ret = starfive_rsa_set_n(rsa_key, raw_key.n, raw_key.n_sz);
497 ret = starfive_rsa_set_e(rsa_key, raw_key.e, raw_key.e_sz);
502 ret = starfive_rsa_set_d(rsa_key, raw_key.d, raw_key.d_sz);
507 if (!rsa_key->n || !rsa_key->e) {
512 if (private && !rsa_key->d) {
519 starfive_rsa_free_key(rsa_key);
553 if (ctx->rsa_key.key_sz)
554 return ctx->rsa_key.key_sz;
582 struct starfive_rsa_key *key = (struct starfive_rsa_key *)&ctx->rsa_key;