Lines Matching refs:spec

175 	KSSLCipherSpec *spec;  in kssl_compute_record_mac()  local
179 spec = &ssl->spec[direction]; in kssl_compute_record_mac()
181 if (spec->mac_hashsz == 0) { in kssl_compute_record_mac()
203 if (IS_TLS(ssl) || (spec->hmac_mech.cm_type != CRYPTO_MECH_INVALID && in kssl_compute_record_mac()
230 mac.cd_length = mac.cd_raw.iov_len = spec->mac_hashsz; in kssl_compute_record_mac()
241 rv = crypto_mac(&spec->hmac_mech, &dd, &spec->hmac_key, in kssl_compute_record_mac()
259 spec->MAC_HashUpdate((void *)ctx, temp, p - temp); in kssl_compute_record_mac()
260 spec->MAC_HashUpdate((void *)ctx, buf, len); in kssl_compute_record_mac()
261 spec->MAC_HashFinal(digest, (void *)ctx); in kssl_compute_record_mac()
265 spec->MAC_HashUpdate((void *)ctx, digest, spec->mac_hashsz); in kssl_compute_record_mac()
266 spec->MAC_HashFinal(digest, (void *)ctx); in kssl_compute_record_mac()
1486 KSSLCipherSpec *spec = &ssl->spec[dir]; in kssl_spec_init() local
1489 spec->mac_hashsz = mac_defs[ssl->pending_malg].hashsz; in kssl_spec_init()
1490 spec->mac_padsz = mac_defs[ssl->pending_malg].padsz; in kssl_spec_init()
1492 spec->MAC_HashInit = mac_defs[ssl->pending_malg].HashInit; in kssl_spec_init()
1493 spec->MAC_HashUpdate = mac_defs[ssl->pending_malg].HashUpdate; in kssl_spec_init()
1494 spec->MAC_HashFinal = mac_defs[ssl->pending_malg].HashFinal; in kssl_spec_init()
1498 spec->mac_hashsz); in kssl_spec_init()
1500 bcopy(&(ssl->pending_keyblock[spec->mac_hashsz]), in kssl_spec_init()
1501 ssl->mac_secret[dir], spec->mac_hashsz); in kssl_spec_init()
1507 spec->MAC_HashInit((void *)ctx); in kssl_spec_init()
1508 spec->MAC_HashUpdate((void *)ctx, ssl->mac_secret[dir], in kssl_spec_init()
1509 spec->mac_hashsz); in kssl_spec_init()
1510 spec->MAC_HashUpdate((void *)ctx, kssl_pad_1, in kssl_spec_init()
1511 spec->mac_padsz); in kssl_spec_init()
1514 spec->MAC_HashInit((void *)ctx); in kssl_spec_init()
1515 spec->MAC_HashUpdate((void *)ctx, ssl->mac_secret[dir], in kssl_spec_init()
1516 spec->mac_hashsz); in kssl_spec_init()
1517 spec->MAC_HashUpdate((void *)ctx, kssl_pad_2, in kssl_spec_init()
1518 spec->mac_padsz); in kssl_spec_init()
1521 spec->cipher_type = cipher_defs[ssl->pending_calg].type; in kssl_spec_init()
1522 spec->cipher_mech.cm_type = cipher_defs[ssl->pending_calg].mech_type; in kssl_spec_init()
1523 spec->cipher_bsize = cipher_defs[ssl->pending_calg].bsize; in kssl_spec_init()
1524 spec->cipher_keysz = cipher_defs[ssl->pending_calg].keysz; in kssl_spec_init()
1526 if (spec->cipher_ctx != NULL) { in kssl_spec_init()
1527 crypto_cancel_ctx(spec->cipher_ctx); in kssl_spec_init()
1528 spec->cipher_ctx = 0; in kssl_spec_init()
1537 spec->hmac_mech = hmac_md5_mech; in kssl_spec_init()
1539 spec->hmac_mech = hmac_sha1_mech; in kssl_spec_init()
1542 spec->hmac_key.ck_format = CRYPTO_KEY_RAW; in kssl_spec_init()
1543 spec->hmac_key.ck_data = ssl->mac_secret[dir]; in kssl_spec_init()
1544 spec->hmac_key.ck_length = spec->mac_hashsz * 8; in kssl_spec_init()
1548 spec->hmac_mech.cm_type = CRYPTO_MECH_INVALID; in kssl_spec_init()
1549 spec->hmac_mech.cm_param = (caddr_t)&param; in kssl_spec_init()
1550 spec->hmac_mech.cm_param_len = sizeof (param); in kssl_spec_init()
1552 spec->hmac_mech.cm_type = in kssl_spec_init()
1556 spec->hmac_mech.cm_type = in kssl_spec_init()
1561 spec->hmac_key.ck_format = CRYPTO_KEY_RAW; in kssl_spec_init()
1562 spec->hmac_key.ck_data = ssl->mac_secret[dir]; in kssl_spec_init()
1563 spec->hmac_key.ck_length = spec->mac_hashsz * 8; in kssl_spec_init()
1567 if (spec->cipher_keysz == 0) { in kssl_spec_init()
1572 spec->cipher_key.ck_format = CRYPTO_KEY_RAW; in kssl_spec_init()
1573 spec->cipher_key.ck_length = 8 * spec->cipher_keysz; /* in bits */ in kssl_spec_init()
1577 spec->cipher_mech.cm_param = in kssl_spec_init()
1578 (caddr_t)&(ssl->pending_keyblock[2 * spec->mac_hashsz + in kssl_spec_init()
1579 2 * spec->cipher_keysz]); in kssl_spec_init()
1580 spec->cipher_mech.cm_param_len = spec->cipher_bsize; in kssl_spec_init()
1582 spec->cipher_data.cd_format = CRYPTO_DATA_RAW; in kssl_spec_init()
1584 spec->cipher_mech.cm_param_len = in kssl_spec_init()
1588 spec->cipher_key.ck_data = in kssl_spec_init()
1589 &(ssl->pending_keyblock[2 * spec->mac_hashsz]); in kssl_spec_init()
1591 ret = crypto_decrypt_init(&(spec->cipher_mech), in kssl_spec_init()
1592 &(spec->cipher_key), NULL, &spec->cipher_ctx, NULL); in kssl_spec_init()
1600 spec->cipher_mech.cm_param += spec->cipher_bsize; in kssl_spec_init()
1604 spec->cipher_key.ck_data = in kssl_spec_init()
1605 &(ssl->pending_keyblock[2 * spec->mac_hashsz + in kssl_spec_init()
1606 spec->cipher_keysz]); in kssl_spec_init()
1608 ret = crypto_encrypt_init(&(spec->cipher_mech), in kssl_spec_init()
1609 &(spec->cipher_key), NULL, &spec->cipher_ctx, NULL); in kssl_spec_init()
1706 KSSLCipherSpec *spec; in kssl_mac_encrypt_record() local
1717 spec = &ssl->spec[KSSL_WRITE]; in kssl_mac_encrypt_record()
1718 mac_sz = spec->mac_hashsz; in kssl_mac_encrypt_record()
1737 if (spec->cipher_type == type_block) { in kssl_mac_encrypt_record()
1738 pad_sz = spec->cipher_bsize - in kssl_mac_encrypt_record()
1739 (rec_sz & (spec->cipher_bsize - 1)); in kssl_mac_encrypt_record()
1752 if (spec->cipher_ctx == 0) in kssl_mac_encrypt_record()
1755 spec->cipher_data.cd_length = rec_sz; in kssl_mac_encrypt_record()
1756 spec->cipher_data.cd_raw.iov_base = (char *)(rstart + SSL3_HDR_LEN); in kssl_mac_encrypt_record()
1757 spec->cipher_data.cd_raw.iov_len = rec_sz; in kssl_mac_encrypt_record()
1759 ret = crypto_encrypt_update(spec->cipher_ctx, &spec->cipher_data, in kssl_mac_encrypt_record()
1777 KSSLCipherSpec *spec; in kssl_send_alert() local
1796 spec = &ssl->spec[KSSL_WRITE]; in kssl_send_alert()
1805 ssl->alert_sendbuf = mp = allocb(len + spec->mac_hashsz + in kssl_send_alert()
1806 spec->cipher_bsize, BPRI_HI); in kssl_send_alert()
2454 KSSLCipherSpec *spec = &ssl->spec[KSSL_READ]; in kssl_specsfree() local
2456 if (spec->cipher_ctx != NULL) { in kssl_specsfree()
2457 crypto_cancel_ctx(spec->cipher_ctx); in kssl_specsfree()
2458 spec->cipher_ctx = 0; in kssl_specsfree()
2461 spec = &ssl->spec[KSSL_WRITE]; in kssl_specsfree()
2463 if (spec->cipher_ctx != NULL) { in kssl_specsfree()
2464 crypto_cancel_ctx(spec->cipher_ctx); in kssl_specsfree()
2465 spec->cipher_ctx = 0; in kssl_specsfree()