Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Category:

О терминации TLS

Я, как известно, ярый противник выставления control plane в инет, и для меня прикрытие его с помощью TLS равнозначно выставлению голой жопой. Ну и агитирую вместо этого прикрытие с помощью SSH, ну или хотя бы с помощью "непробиваемых" отдельных терминаторов вроде nginx/hitch, написанных отдельными от команды приложения специально обученными людьми.

Так вот, у меня понятно на это confirmation bias, так что ловите прохладную историю.

Приспичило мне написать TLS-клиент. На серверной стороне товарищи подняли PKI со своим CA, ну и взаимная аутентификация клиента и сервера. Но так как мне CSR всё ещё подписывают, я написал proof of concept code подключающийся к ним с левым самоподписанным клиентским сертификатом. Сервер ессно соединение зарубает.

Так вот, в ноде, если тебе сервер зарубил соединение, приходит следующий эксепшен:
 name: 'RequestError'
 code: 'EPROTO'
 message: 'write EPROTO 3042395968:error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:ssl/record/rec_layer_s3.c:1543:SSL alert number 46\n'
Ну то есть если мне именно его надо ловить - то надо писать парсер этой пиздатой строки. "sslv3 alert certificate unknown"

Какие из этого можно сделать выводы? Ну помимо того что нода говно и не нужна. Да вот, что эта область - обработка ошибок TLS-соединения при двухсторонней аутентификации - никак не развита. Никто их не обрабатывает никогда, всем плевать.
Tags: programming, все пидарасы а я, выебудни
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 121 comments