使用OpenSSL的SCTP上的DTLS
DTLS over SCTP using OpenSSL
我想编写一个使用OpenSSL的应用程序,以利用它对SCTP的DTLS支持。我使用的是Ubuntu 13.10。
我已经下载并成功编译了LKSCTP 1.0.15和OpenSSL 1.0.1e。我用编译了OpenSSL/配置sctp。
我可以编译上提供的样本http://sctp.fh-muenster.de/,但是,当我尝试执行其中任何一个时,它们都会在下面的断言中失败。错误消息为:
bss_dgram.c(897): OpenSSL internal error, assertion failed: ret > 0
setsockopt遇到的错误是"权限被拒绝"。以下是函数BIO_new_dgram_sctp(来自bss_dgram.c)中失败的代码
ret = setsockopt(fd, IPPROTO_SCTP, SCTP_AUTH_CHUNK, &auth, sizeof(struct sctp_authchunk));
OPENSSL_assert(ret >= 0);
您需要在sysctl中启用AUTH块。显然,它们在Linux中默认关闭:
sysctl -w net.sctp.auth_enable = 1
通过将net.sctp.auth_enable = 1
添加到/etc/sysctl.conf
,可以使设置永久化。
请在此处查看自述文件的底部:https://github.com/jtt/sctp-tools
相关文章:
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 物理键盘上的触发器按键
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- PowerPC ppc64le上的Gcc Woverloaded虚拟错误
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 集合上的输出迭代器:assign和increment迭代器
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 对于set上的循环-获取next元素迭代器
- 如何从棋盘上的箱号中找到行和列
- 为什么除非添加括号,否则构造函数上的模板替换会失败?
- if数组上的随机数
- 向量上的线性搜索
- 位阵列上的快速AND运算
- 无法将 GLFW 库与 Ubuntu 18.04 上的头文件链接
- 为什么一个向量上的多线程操作很慢
- 64位机器上的C++内存对齐
- 使用OpenSSL的SCTP上的DTLS