Lines Matching refs:keylen

257  * allocate structure space for a key of length keylen
260 sctp_alloc_key(uint32_t keylen)
264 SCTP_MALLOC(new_key, sctp_key_t *, sizeof(*new_key) + keylen,
270 new_key->keylen = keylen;
290 SCTP_PRINTF("%s: len %u, ", str, key->keylen);
291 if (key->keylen) {
292 for (i = 0; i < key->keylen; i++)
309 SCTP_PRINTF("%s: len %u, ", str, key->keylen);
310 if (key->keylen) {
311 for (i = 0; i < key->keylen; i++)
323 return (key->keylen);
329 * generate a new random key of length 'keylen'
332 sctp_generate_random_key(uint32_t keylen)
336 new_key = sctp_alloc_key(keylen);
341 SCTP_READ_RANDOM(new_key->key, keylen);
342 new_key->keylen = keylen;
347 sctp_set_key(uint8_t * key, uint32_t keylen)
351 new_key = sctp_alloc_key(keylen);
356 bcopy(key, new_key->key, keylen);
420 uint32_t keylen;
424 keylen = sctp_get_keylen(key1) + sctp_get_keylen(key2) +
427 if (keylen > 0) {
429 new_key = sctp_alloc_key(keylen);
434 new_key->keylen = keylen;
445 bcopy(shared->key, key_ptr, shared->keylen);
446 key_ptr += shared->keylen;
449 bcopy(key1->key, key_ptr, key1->keylen);
450 key_ptr += key1->keylen;
453 bcopy(key2->key, key_ptr, key2->keylen);
458 bcopy(shared->key, key_ptr, shared->keylen);
459 key_ptr += shared->keylen;
462 bcopy(key2->key, key_ptr, key2->keylen);
463 key_ptr += key2->keylen;
466 bcopy(key1->key, key_ptr, key1->keylen);
622 new_skey->key = sctp_set_key(skey->key->key, skey->key->keylen);
936 sctp_hmac(uint16_t hmac_algo, uint8_t * key, uint32_t keylen,
947 if ((key == NULL) || (keylen == 0) || (text == NULL) ||
959 if (keylen > blocklen) {
961 sctp_hmac_update(hmac_algo, &ctx, key, keylen);
964 keylen = digestlen;
970 bcopy(key, ipad, keylen);
971 bcopy(key, opad, keylen);
996 sctp_hmac_m(uint16_t hmac_algo, uint8_t * key, uint32_t keylen,
1008 if ((key == NULL) || (keylen == 0) || (m == NULL) || (digest == NULL)) {
1019 if (keylen > blocklen) {
1021 sctp_hmac_update(hmac_algo, &ctx, key, keylen);
1024 keylen = digestlen;
1030 bcopy(key, ipad, keylen);
1031 bcopy(key, opad, keylen);
1079 sctp_verify_hmac(uint16_t hmac_algo, uint8_t * key, uint32_t keylen,
1087 if ((key == NULL) || (keylen == 0) ||
1097 if (sctp_hmac(hmac_algo, key, keylen, text, textlen, temp) != len)
1109 * the keylen exceeds the HMAC block len).
1133 if (key->keylen > blocklen) {
1135 sctp_hmac_update(hmac_algo, &ctx, key->key, key->keylen);
1138 key->keylen = digestlen;
1139 bcopy(temp, key->key, key->keylen);
1141 return (sctp_hmac(hmac_algo, key->key, key->keylen, text, textlen,
1167 if (key->keylen > blocklen) {
1169 sctp_hmac_update(hmac_algo, &ctx, key->key, key->keylen);
1172 key->keylen = digestlen;
1173 bcopy(temp, key->key, key->keylen);
1175 return (sctp_hmac_m(hmac_algo, key->key, key->keylen, m, m_offset, digest, 0));
1431 uint32_t keylen;
1507 keylen = sizeof(*p_random) + random_len + sizeof(*hmacs) + hmacs_len;
1509 keylen += sizeof(*chunks) + num_chunks;
1511 new_key = sctp_alloc_key(keylen);
1515 keylen = sizeof(*p_random) + random_len;
1516 bcopy(p_random, new_key->key, keylen);
1520 bcopy(chunks, new_key->key + keylen,
1522 keylen += sizeof(*chunks) + num_chunks;
1526 bcopy(hmacs, new_key->key + keylen,
1971 uint16_t keylen;
1999 keylen = (3 * sizeof(struct sctp_paramhdr)) + random_len + chunks_len +
2001 new_key = sctp_alloc_key(keylen);
2012 keylen = plen;
2016 ph = (struct sctp_paramhdr *)(new_key->key + keylen);
2020 keylen += sizeof(*ph);
2026 new_key->key[keylen++] = i;
2030 ph = (struct sctp_paramhdr *)(new_key->key + keylen);
2034 keylen += sizeof(*ph);
2036 new_key->key + keylen);