DTLS через SCTP с использованием OpenSSL

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

Я скачал и успешно скомпилировал 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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]