Lines Matching refs:kop

105 static void zapparams(struct crypt_kop *kop);
106 static int cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r,
1068 static void zapparams(struct crypt_kop *kop)
1072 for (i = 0; i < kop->crk_iparams + kop->crk_oparams; i++) {
1073 OPENSSL_free(kop->crk_param[i].crp_p);
1074 kop->crk_param[i].crp_p = NULL;
1075 kop->crk_param[i].crp_nbits = 0;
1080 cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
1089 kop->crk_param[kop->crk_iparams].crp_p = OPENSSL_malloc(rlen);
1090 if (kop->crk_param[kop->crk_iparams].crp_p == NULL)
1092 memset(kop->crk_param[kop->crk_iparams].crp_p, 0, (size_t)rlen);
1093 kop->crk_param[kop->crk_iparams].crp_nbits = rlen * 8;
1094 kop->crk_oparams++;
1097 kop->crk_param[kop->crk_iparams + 1].crp_p = OPENSSL_malloc(slen);
1098 /* No need to free the kop->crk_iparams parameter if it was allocated,
1102 if (kop->crk_param[kop->crk_iparams+1].crp_p == NULL)
1104 memset(kop->crk_param[kop->crk_iparams + 1].crp_p, 0, (size_t)slen);
1105 kop->crk_param[kop->crk_iparams + 1].crp_nbits = slen * 8;
1106 kop->crk_oparams++;
1109 if (ioctl(fd, CIOCKEY, kop) == 0) {
1111 crparam2bn(&kop->crk_param[kop->crk_iparams], r);
1113 crparam2bn(&kop->crk_param[kop->crk_iparams + 1], s);
1124 struct crypt_kop kop;
1136 memset(&kop, 0, sizeof(kop));
1137 kop.crk_op = CRK_MOD_EXP;
1140 if (bn2crparam(a, &kop.crk_param[0]))
1142 if (bn2crparam(p, &kop.crk_param[1]))
1144 if (bn2crparam(m, &kop.crk_param[2]))
1146 kop.crk_iparams = 3;
1148 if (cryptodev_asym(&kop, BN_num_bytes(m), r, 0, NULL)) {
1153 } else if (ECANCELED == kop.crk_status) {
1161 zapparams(&kop);
1179 struct crypt_kop kop;
1187 memset(&kop, 0, sizeof(kop));
1188 kop.crk_op = CRK_MOD_EXP_CRT;
1190 if (bn2crparam(rsa->p, &kop.crk_param[0]))
1192 if (bn2crparam(rsa->q, &kop.crk_param[1]))
1194 if (bn2crparam(I, &kop.crk_param[2]))
1196 if (bn2crparam(rsa->dmp1, &kop.crk_param[3]))
1198 if (bn2crparam(rsa->dmq1, &kop.crk_param[4]))
1200 if (bn2crparam(rsa->iqmp, &kop.crk_param[5]))
1202 kop.crk_iparams = 6;
1204 if (cryptodev_asym(&kop, BN_num_bytes(rsa->n), r0, 0, NULL)) {
1209 } else if (ECANCELED == kop.crk_status) {
1217 zapparams(&kop);
1279 struct crypt_kop kop;
1290 memset(&kop, 0, sizeof(kop));
1291 kop.crk_op = CRK_DSA_SIGN;
1294 kop.crk_param[0].crp_p = (caddr_t) dgst;
1295 kop.crk_param[0].crp_nbits = dlen * 8;
1296 if (bn2crparam(dsa->p, &kop.crk_param[1]))
1298 if (bn2crparam(dsa->q, &kop.crk_param[2]))
1300 if (bn2crparam(dsa->g, &kop.crk_param[3]))
1302 if (bn2crparam(dsa->priv_key, &kop.crk_param[4]))
1304 kop.crk_iparams = 5;
1306 if (cryptodev_asym(&kop, BN_num_bytes(dsa->q), r,
1321 kop.crk_param[0].crp_p = NULL;
1322 zapparams(&kop);
1330 struct crypt_kop kop;
1333 memset(&kop, 0, sizeof(kop));
1334 kop.crk_op = CRK_DSA_VERIFY;
1337 kop.crk_param[0].crp_p = (caddr_t) dgst;
1338 kop.crk_param[0].crp_nbits = dlen * 8;
1339 if (bn2crparam(dsa->p, &kop.crk_param[1]))
1341 if (bn2crparam(dsa->q, &kop.crk_param[2]))
1343 if (bn2crparam(dsa->g, &kop.crk_param[3]))
1345 if (bn2crparam(dsa->pub_key, &kop.crk_param[4]))
1347 if (bn2crparam(sig->r, &kop.crk_param[5]))
1349 if (bn2crparam(sig->s, &kop.crk_param[6]))
1351 kop.crk_iparams = 7;
1353 if (cryptodev_asym(&kop, 0, NULL, 0, NULL) == 0) {
1357 if (0 != kop.crk_status)
1365 kop.crk_param[0].crp_p = NULL;
1366 zapparams(&kop);
1394 struct crypt_kop kop;
1406 memset(&kop, 0, sizeof(kop));
1407 kop.crk_op = CRK_DH_COMPUTE_KEY;
1410 if (bn2crparam(dh->priv_key, &kop.crk_param[0]))
1412 if (bn2crparam(pub_key, &kop.crk_param[1]))
1414 if (bn2crparam(dh->p, &kop.crk_param[2]))
1416 kop.crk_iparams = 3;
1418 kop.crk_param[3].crp_p = (caddr_t) key;
1419 kop.crk_param[3].crp_nbits = keylen * 8;
1420 kop.crk_oparams = 1;
1422 if (ioctl(fd, CIOCKEY, &kop) == -1) {
1428 kop.crk_param[3].crp_p = NULL;
1429 zapparams(&kop);