gnutls_handshake()가 실패합니다 - 왜 그렇습니까?

gnutls_handshake()가 실패합니다 - 왜 그렇습니까?

다음 명령을 실행하고 있습니다.

curl --tlsv1.2 -v --cacert ./mycert.crt --key ./key.pem --cert ./mycert.crt  https://thirdparty.url

openssl을 사용하여 CSR 및 키 파일을 생성한 후 함께 작업하던 제3자로부터 인증서를 받았습니다.

내 서버 IP는 타사 방화벽에 의해 허용 목록에 포함되어 있으며 내 요청이 들어오는 것을 볼 수 있지만 핸드셰이크는 항상 실패합니다.

제가 받은 답변은 다음과 같습니다.

*   Trying X.X.X.X...
* Connected to thirdparty.url (X.X.X.X) port 443 (#0)
* found 1 certificates in ./nonprod.crt
* found 596 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* gnutls_handshake() failed: Handshake failed
* Closing connection 0
curl: (35) gnutls_handshake() failed: Handshake failed

이 문제를 어떻게 디버깅할 수 있나요?

몇 가지 정보: Ubuntu 16.04.4에서 컬 7.47.0을 실행 중입니다.

다음 명령을 실행하려고 합니다.

openssl s_client -connect server.url:443 -tls1_2 -cert ./mycert.crt  -key key.pem 

하지만 작동하려면 링크 URI를 제외해야 합니다. 그러나 응답에는 다음이 포함됩니다.

140593823835800:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:s3_pkt.c:1487:SSL alert number 40
140593823835800:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:656:

그러나 그것은 또한 다음과 같이 말합니다.

SSL handshake has read 3378 bytes and written 1702 bytes

New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID:
    Session-ID-ctx:
    Master-Key: CE2294E9B415FB8B9850DB28F64FEF17390A46D5A38F12E62E31F614DA4199CF50C0AFA5F62401C4964105AFC4F1B095
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1528299660
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)

관련 정보