openssl DTLS 读写操作代码流程

在应用程序中调用SSL_write函数;
在openssl中依次调用如下函数:
ssl3_write()
dtls1_write_app_data_bytes()
dtls1_write_bytes()
do_dtls1_write()
压缩 ssl3_do_compress()-->zlib_stateful_compress_block-->(zlib)deflate()函数-->deflate_fast/deflate_slow()
加密 s->method->ssl3_enc() -->dtls1_enc()
ssl3_write_pending()-->BIO_write()


压缩-->加密-->发送


在应用程序中调用SSL_read:
在openssl中依次调用如下函数:
ssl3_read()
ssl3_read_internal()

dtls1_read_bytes()

dtls1_get_record()-->dtls1_process_record()-->

s->method->ssl3_enc->enc解密-->dtls1_enc()

ssl3_do_uncompress()解压-->zlib_stateful_expand_block()-->(zlib)inflate()函数


接收-->解密-->解压


你可能感兴趣的:(openssl,DTLS)