Lines Matching defs:kop

101 static void zapparams(struct crypt_kop *kop);
102 static int cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r,
707 static void zapparams(struct crypt_kop *kop)
711 for (i = 0; i <= kop->crk_iparams + kop->crk_oparams; i++) {
712 if (kop->crk_param[i].crp_p)
713 free(kop->crk_param[i].crp_p);
714 kop->crk_param[i].crp_p = NULL;
715 kop->crk_param[i].crp_nbits = 0;
720 cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
729 kop->crk_param[kop->crk_iparams].crp_p = calloc(rlen, sizeof(char));
730 kop->crk_param[kop->crk_iparams].crp_nbits = rlen * 8;
731 kop->crk_oparams++;
734 kop->crk_param[kop->crk_iparams + 1].crp_p =
736 kop->crk_param[kop->crk_iparams + 1].crp_nbits = slen * 8;
737 kop->crk_oparams++;
740 if (ioctl(fd, CIOCKEY, kop) == 0) {
742 crparam2bn(&kop->crk_param[kop->crk_iparams], r);
744 crparam2bn(&kop->crk_param[kop->crk_iparams + 1], s);
755 struct crypt_kop kop;
767 memset(&kop, 0, sizeof kop);
768 kop.crk_op = CRK_MOD_EXP;
771 if (bn2crparam(a, &kop.crk_param[0]))
773 if (bn2crparam(p, &kop.crk_param[1]))
775 if (bn2crparam(m, &kop.crk_param[2]))
777 kop.crk_iparams = 3;
779 if (cryptodev_asym(&kop, BN_num_bytes(m), r, 0, NULL)) {
784 } else if (ECANCELED == kop.crk_status) {
792 zapparams(&kop);
809 struct crypt_kop kop;
817 memset(&kop, 0, sizeof kop);
818 kop.crk_op = CRK_MOD_EXP_CRT;
820 if (bn2crparam(rsa->p, &kop.crk_param[0]))
822 if (bn2crparam(rsa->q, &kop.crk_param[1]))
824 if (bn2crparam(I, &kop.crk_param[2]))
826 if (bn2crparam(rsa->dmp1, &kop.crk_param[3]))
828 if (bn2crparam(rsa->dmq1, &kop.crk_param[4]))
830 if (bn2crparam(rsa->iqmp, &kop.crk_param[5]))
832 kop.crk_iparams = 6;
834 if (cryptodev_asym(&kop, BN_num_bytes(rsa->n), r0, 0, NULL)) {
839 } else if (ECANCELED == kop.crk_status) {
847 zapparams(&kop);
909 struct crypt_kop kop;
920 memset(&kop, 0, sizeof kop);
921 kop.crk_op = CRK_DSA_SIGN;
924 kop.crk_param[0].crp_p = (caddr_t) dgst;
925 kop.crk_param[0].crp_nbits = dlen * 8;
926 if (bn2crparam(dsa->p, &kop.crk_param[1]))
928 if (bn2crparam(dsa->q, &kop.crk_param[2]))
930 if (bn2crparam(dsa->g, &kop.crk_param[3]))
932 if (bn2crparam(dsa->priv_key, &kop.crk_param[4]))
934 kop.crk_iparams = 5;
936 if (cryptodev_asym(&kop, BN_num_bytes(dsa->q), r,
948 kop.crk_param[0].crp_p = NULL;
949 zapparams(&kop);
957 struct crypt_kop kop;
960 memset(&kop, 0, sizeof kop);
961 kop.crk_op = CRK_DSA_VERIFY;
964 kop.crk_param[0].crp_p = (caddr_t) dgst;
965 kop.crk_param[0].crp_nbits = dlen * 8;
966 if (bn2crparam(dsa->p, &kop.crk_param[1]))
968 if (bn2crparam(dsa->q, &kop.crk_param[2]))
970 if (bn2crparam(dsa->g, &kop.crk_param[3]))
972 if (bn2crparam(dsa->pub_key, &kop.crk_param[4]))
974 if (bn2crparam(sig->r, &kop.crk_param[5]))
976 if (bn2crparam(sig->s, &kop.crk_param[6]))
978 kop.crk_iparams = 7;
980 if (cryptodev_asym(&kop, 0, NULL, 0, NULL) == 0) {
984 if (0 != kop.crk_status)
992 kop.crk_param[0].crp_p = NULL;
993 zapparams(&kop);
1021 struct crypt_kop kop;
1033 memset(&kop, 0, sizeof kop);
1034 kop.crk_op = CRK_DH_COMPUTE_KEY;
1037 if (bn2crparam(dh->priv_key, &kop.crk_param[0]))
1039 if (bn2crparam(pub_key, &kop.crk_param[1]))
1041 if (bn2crparam(dh->p, &kop.crk_param[2]))
1043 kop.crk_iparams = 3;
1045 kop.crk_param[3].crp_p = (char *)key;
1046 kop.crk_param[3].crp_nbits = keylen * 8;
1047 kop.crk_oparams = 1;
1049 if (ioctl(fd, CIOCKEY, &kop) == -1) {
1055 kop.crk_param[3].crp_p = NULL;
1056 zapparams(&kop);