Nss error 5961

Can someone enlighten me the meaning of "NSS error -5961 (PR_CONNECT_RESET_ERROR)"? I am trying to connect to bitbucket.org with "https" protocol but got a refuse from the server. Then, I try to use

Can someone enlighten me the meaning of «NSS error -5961 (PR_CONNECT_RESET_ERROR)»?

I am trying to connect to bitbucket.org with «https» protocol but got a refuse from the server. Then, I try to use curl on the command line and see this output.

# curl -v https://bitbucket.org
* About to connect() to bitbucket.org port 443 (#0)
*   Trying 131.103.20.168...
* Connected to bitbucket.org (131.103.20.168) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5961 (PR_CONNECT_RESET_ERROR)
* TCP connection reset by peer
* Closing connection 0
curl: (35) TCP connection reset by peer

With openssl, I got this output.

# openssl s_client -connect bitbucket.org:443 -msg
CONNECTED(00000003)
>>> TLS 1.2 Handshake [length 00f4], ClientHello
    01 00 00 f0 03 03 55 59 80 fa 72 25 f4 a5 84 49
... <I suspended this Hex value>
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 249 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

asked May 18, 2015 at 6:21

microstrip's user avatar

1

TCP connection reset by peer

This error from NSS is the same error you get with openssl (errno=104: ECONNRESET). This simply means, that the peer or some middlebox in between (firewall) is terminating the connection.

Since the site is reachable from my place I would suggest, that there is a firewall on your site blocking the connection.
The behavior is fairly typical for DPI firewalls in that the initial TCP connection is allowed but once you send the first data (ClientHello from TLS handshake) it will determine if your access is allowed by policy and let it pass or deny it by injecting a TCP RST.

answered May 18, 2015 at 6:57

Steffen Ullrich's user avatar

2

yum update curl

solved the problem for me.

answered Nov 1, 2017 at 4:24

Arkadiy Bolotov's user avatar

5

Can someone enlighten me the meaning of «NSS error -5961 (PR_CONNECT_RESET_ERROR)»?

I am trying to connect to bitbucket.org with «https» protocol but got a refuse from the server. Then, I try to use curl on the command line and see this output.

# curl -v https://bitbucket.org
* About to connect() to bitbucket.org port 443 (#0)
*   Trying 131.103.20.168...
* Connected to bitbucket.org (131.103.20.168) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5961 (PR_CONNECT_RESET_ERROR)
* TCP connection reset by peer
* Closing connection 0
curl: (35) TCP connection reset by peer

With openssl, I got this output.

# openssl s_client -connect bitbucket.org:443 -msg
CONNECTED(00000003)
>>> TLS 1.2 Handshake [length 00f4], ClientHello
    01 00 00 f0 03 03 55 59 80 fa 72 25 f4 a5 84 49
... <I suspended this Hex value>
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 249 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

asked May 18, 2015 at 6:21

microstrip's user avatar

1

TCP connection reset by peer

This error from NSS is the same error you get with openssl (errno=104: ECONNRESET). This simply means, that the peer or some middlebox in between (firewall) is terminating the connection.

Since the site is reachable from my place I would suggest, that there is a firewall on your site blocking the connection.
The behavior is fairly typical for DPI firewalls in that the initial TCP connection is allowed but once you send the first data (ClientHello from TLS handshake) it will determine if your access is allowed by policy and let it pass or deny it by injecting a TCP RST.

answered May 18, 2015 at 6:57

Steffen Ullrich's user avatar

2

yum update curl

solved the problem for me.

answered Nov 1, 2017 at 4:24

Arkadiy Bolotov's user avatar

5

у меня есть удаленный сервер Windows 7, который доступен только через HTTPS на порту 768. Сервер использует подписанный сертификат из центра сертификации, указанного на локальном сервере CentOS.

всякий раз, когда я пытаюсь получить доступ к удаленному серверу через cURL с помощью следующей команды, он выдает следующие ошибки:

[usr@serv certs]# curl -3 -v https://1.1.1.1:768/user/login
* About to connect() to 1.1.1.1 port 768 (#0)
*   Trying 1.1.1.1... connected
* Connected to 1.1.1.1 (1.1.1.1) port 768 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5961
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error

(обратите внимание, что IP-адрес был скрыт по соображениям безопасности).

я запускаю следующую версию cURL:

curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2

стоит отмечая, что это работает на двух других удаленных серверах, которые работают под управлением Windows XP, а не windows 7.

Я попытался заставить cURL использовать SSLv3 (используя флаг -3 и флаг-SSLv3) без успеха.


Я только что протестировал ту же команду CURL на Raspberry Pi под управлением Raspbian и смог успешно подключиться. Поэтому я считаю, что это может быть проблема с версией cURL, используемой на сервере CentOS. Малина Pi выполняется следующая версия:

curl 7.26.0 (arm-unknown-linux-gnueabihf) libcurl/7.26.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.25 libssh2/1.4.2 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: Debug GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

5 ответов


curl С NSS прочитайте корневые сертификаты CA по умолчанию из "/etc/pki/tls/certs/ca-bundle.crt" в формате PEM.

* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt

вы можете указать другой (ваш) сертификат CA (или пакет на NSS общая БД) по варианту curl --cacert с файлом PEM, содержащим сертификат(ы) CA.

если вы не укажете сертификат вручную с помощью --cacert опция, NSS пытается выбрать правильный из базы данных NSS (находится в /etc/pki/nssdb) автоматически. Вы можете укажите его ник с помощью опции curl --cert, этого должно быть достаточно, если ключ встроен в сертификат, если нет, вы можете указать файл PEM с ключом сертификата, используя --key. Если ключ защищен парольной фразой, вы можете дать его опцией curl --pass таким образом, вы можете импортировать свой сертификат в общую БД NSS с помощью НСС-инструменты (yum install nss-tools)

добавление сертификата (общая команда line)

certutil -d sql:/etc/pki/nssdb -A -t <TRUSTARGS> -n <certificate nickname> -i <certificate filename>

о TRUSTARGS

укажите атрибуты доверия, которые необходимо изменить в существующем сертификате или применить к сертификату при его создании или добавлении в базу данных.

существует три категории доверия для каждого сертификата,
выражается в таком порядке: «SSL, email, подпись объекта». В каждом
позиция категории используйте ноль или более следующих кодов атрибутов:

  • p запрещено (явно не доверяют)
  • P доверенный peer
  • C действительный CA
  • T доверенный CA для выдачи сертификатов клиента (подразумевает c)
  • C доверенный CA для выдачи сертификатов сервера (только SSL) (подразумевает c)
  • сертификат у можно использовать для удостоверения подлинности или подписания
  • w отправить предупреждение (используйте с другими атрибутами, чтобы включить предупреждение, когда сертификат используется в этом контексте)

коды атрибутов для категорий, разделенных запятыми, и
весь набор атрибутов, заключенный в кавычки. Например:

— t «TCu, Cu, Tuw»

доверие корневому сертификату CA для выдачи сертификатов сервера SSL

certutil -d sql:/etc/pki/nssdb -A -t "C,," -n <certificate nickname> -i <certificate filename> 

импорт промежуточного сертификата CA

certutil -d sql:/etc/pki/nssdb -A -t ",," -n <certificate nickname> -i <certificate filename>

самоподписанный сервера сертификат

certutil -d sql:/etc/pki/nssdb -A -t "P,," -n <certificate nickname> -i <certificate filename> 

добавление личного сертификата и закрытого ключа для аутентификации клиента SSL

pk12util -d sql:/etc/pki/nssdb -i PKCS12_file_with_your_cert.p12

Список всех сертификатов, хранящихся в NSS DB

certutil -d sql:/etc/pki/nssdb -L

перечисление деталей сертификата

certutil -d sql:/etc/pki/nssdb -L -n <certificate nickname>

удаление сертификата

certutil -d sql:/etc/pki/nssdb -D -n <certificate nickname>

надеюсь, что это помогает.


недавно я столкнулся с той же проблемой в коробке CentOS 6. Оказалось, что сервер не обновлялся уже довольно давно и версия NSS была слишком старой. Исправлено путем обновления curl и NSS:

yum update -y nss curl libcurl

что происходит

Это звучит так, как будто вы испытываете проблему тайм-аута при подключении к серверу Windows 7.

Возможные Решения

один из возможных ответ указывает на первопричину ошибки 5961 оказалась проблема настройки MTU сети. Неясно, есть ли у вас доступ к серверу Windows 7 или полным компонентам среды, чтобы определить точную причину тайм-аута это приводит к сбою соединения. Я бы проверил MTU сервера Windows 7 и сравнил настройку MTU с настройкой других серверов. Если вы обнаружите, что вам нужно изменить настройки, вы можете следовать этому процедура.


эта ошибка также выдается, когда протокол ssl не поддерживается сервером, попробуйте указать все варианты / протоколы на сервере.XML-файл.


Это произойдет, когда шифры между клиентом и сервером не перекрываются.

например, сервер принимает только шифр ECHDE, но клиент (некоторая старая версия curl, построенная с nss) не имел этого шифра.

в этом случае сервер сначала отправит TCP клиенту для завершения попытки подключения SSL, когда он обнаружит, что шифр не перекрывается (клиент будет включать поддерживаемый шифр в «клиент hello»).


Может кто-нибудь просветить меня, что означает «ошибка NSS -5961 (PR_CONNECT_RESET_ERROR)»?

Я пытаюсь подключиться к bitbucket.org по протоколу «https», но получил отказ от сервера. Затем я пытаюсь использовать curl в командной строке и вижу этот вывод.

# curl -v https://bitbucket.org
* About to connect() to bitbucket.org port 443 (#0)
*   Trying 131.103.20.168...
* Connected to bitbucket.org (131.103.20.168) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5961 (PR_CONNECT_RESET_ERROR)
* TCP connection reset by peer
* Closing connection 0
curl: (35) TCP connection reset by peer

С openssl я получил этот вывод.

# openssl s_client -connect bitbucket.org:443 -msg
CONNECTED(00000003)
>>> TLS 1.2 Handshake [length 00f4], ClientHello
    01 00 00 f0 03 03 55 59 80 fa 72 25 f4 a5 84 49
... <I suspended this Hex value>
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 249 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

TCP-соединение сбрасывается одноранговым

Эта ошибка из NSS является той же самой ошибкой, которую вы получаете с openssl (errno = 104: ECONNRESET). Это просто означает, что одноранговая или промежуточная точка (межсетевой экран) разрывает соединение.

Поскольку сайт доступен с моего места, я бы предположил, что на вашем сайте есть брандмауэр, блокирующий соединение.
Поведение является довольно типичным для брандмауэров DPI в том смысле, что исходное TCP-соединение разрешено, но как только вы отправите первые данные (ClientHello из рукопожатия TLS), он определит, разрешен ли ваш доступ политикой, и пропустит или запретит его, введя TCP RST.

ответ дан Steffen Ullrich3k

ням обновление локон

решил проблему для меня.

ответ дан Arkadiy Bolotov11

Всё ещё ищете ответ? Посмотрите другие вопросы с метками ssl openssl.

Понравилась статья? Поделить с друзьями:
  • Nslookup non authoritative answer как исправить
  • Nsis sf net nsis error как убрать ошибку
  • Nsis error при установке драйвера
  • Nsis error при удалении приложения
  • Nsis error writing temporary file make sure your temp folder is valid