/* Code borrowed from crypto/rsa.c */ if (private)
ret = rsa_parse_priv_key(&raw_key, key, keylen); else
ret = rsa_parse_pub_key(&raw_key, key, keylen); if (ret) goto n_key;
ret = ccp_copy_and_save_keypart(&ctx->u.rsa.n_buf, &ctx->u.rsa.n_len,
raw_key.n, raw_key.n_sz); if (ret) goto key_err;
sg_init_one(&ctx->u.rsa.n_sg, ctx->u.rsa.n_buf, ctx->u.rsa.n_len);
ctx->u.rsa.key_len = ctx->u.rsa.n_len << 3; /* convert to bits */ if (ccp_check_key_length(ctx->u.rsa.key_len)) {
ret = -EINVAL; goto key_err;
}
ret = ccp_copy_and_save_keypart(&ctx->u.rsa.e_buf, &ctx->u.rsa.e_len,
raw_key.e, raw_key.e_sz); if (ret) goto key_err;
sg_init_one(&ctx->u.rsa.e_sg, ctx->u.rsa.e_buf, ctx->u.rsa.e_len);
if (private) {
ret = ccp_copy_and_save_keypart(&ctx->u.rsa.d_buf,
&ctx->u.rsa.d_len,
raw_key.d, raw_key.d_sz); if (ret) goto key_err;
sg_init_one(&ctx->u.rsa.d_sg,
ctx->u.rsa.d_buf, ctx->u.rsa.d_len);
}
int ccp_register_rsa_algs(struct list_head *head)
{ int i, ret; unsignedint ccpversion = ccp_version();
/* Register the RSA algorithm in standard mode * This works for CCP v3 and later
*/ for (i = 0; i < ARRAY_SIZE(rsa_algs); i++) { if (rsa_algs[i].version > ccpversion) continue;
ret = ccp_register_rsa_alg(head, &rsa_algs[i]); if (ret) return ret;
}
return0;
}
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.11Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-06-06)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.