2013-11-19 3 views
1

Я хочу написать приложение, использующее OpenSSL, чтобы воспользоваться поддержкой DTLS через SCTP. Я использую Ubuntu 13.10.DTLS через SCTP с использованием OpenSSL

Я загрузил и успешно скомпилировал LKSCTP 1.0.15 и OpenSSL 1.0.1e. Я скомпилировал OpenSSL с ./config 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); 

ответ

1

Вам необходимо включить AUTH ломти в SYSCTL. По-видимому, они отключены по умолчанию в Linux:

sysctl -w net.sctp.auth_enable = 1 

Вы можете сделать изменения постоянными, добавив net.sctp.auth_enable = 1 в /etc/sysctl.conf.

см в нижней части README здесь: https://github.com/jtt/sctp-tools

+0

Спасибо! Это сработало для меня :-) –

Смежные вопросы