Linux kernel TLS
Привет всем есть кто-нибудь кто в ядре разбирается ? Подскажите как установить сокет клиент соединение к https серверу используя только linux kernel api без openssl/gnussl и тд. Поиском нашел только:
setsockopt(m_socket, SOL_TCP, TCP_ULP, "tls", sizeof("tls"));
struct tls12_crypto_info_aes_gcm_128 crypto_info;
crypto_info.info.version = TLS_1_2_VERSION;
crypto_info.info.cipher_type = TLS_CIPHER_AES_GCM_128;
vector<unsigned char> iv_write (TLS_CIPHER_AES_GCM_128_IV_SIZE , 0);
vector<unsigned char> seq_number_write (TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE, 0);
vector<unsigned char> cipher_key_write (TLS_CIPHER_AES_GCM_128_KEY_SIZE , 0);
vector<unsigned char> implicit_iv_write (TLS_CIPHER_AES_GCM_128_SALT_SIZE , 0);
memcpy(crypto_info.iv, iv_write.data() , TLS_CIPHER_AES_GCM_128_IV_SIZE);
memcpy(crypto_info.rec_seq, seq_number_write.data() , TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE);
memcpy(crypto_info.key, cipher_key_write.data() , TLS_CIPHER_AES_GCM_128_KEY_SIZE);
memcpy(crypto_info.salt, implicit_iv_write.data() , TLS_CIPHER_AES_GCM_128_SALT_SIZE);
setsockopt(m_socket, SOL_TLS, TLS_TX, &crypto_info, sizeof(crypto_info))
но чем заполнить поля iv_write, seq_number_write, cipher_key_write, implicit_iv_write не нашел. Исходники openssl пока что не осилил. Результат выложу в открытый доступ.