Поскольку тот же код работает на Node.js v10.15.3
, но не работает на v12.2.0
, а сообщение об ошибке указывает на «неподдерживаемый протокол», наиболее вероятная основная причина этой проблемы: минимальная поддерживаемая версия TLS вNode.js 10 равен TLSv1.0
, но с v11.4.0
он повышается до TLSv1.2
( tls.DEFAULT_MIN_VERSION ).Я подозреваю, что сертификат cidadao.sinesp.gov.br
подписан с TLSv1.0, который работает на Node.js v10.15.3
, но не на v12.2.0
.
Чтобы Node.js мог принять TLSv1.0
, вы можетепроцесс lauch Node.js с опцией --tls-min-v1.0
.
Я провел эксперимент, и он хорошо работает:
Кстати,сертификат cidadao.sinesp.gov.br
сейчас недействителен.Срок его действия истек с мая 2018 года - как упоминалось в ФП, запрос следует отправлять из Бразилии (или через прокси-узел в Бразилии).