https를 통해 상호 작용하는 nodejs 클라이언트와 서버가 있습니다. 자체 서명 된 인증 기관, 서버 인증서 및 몇 가지 테스트 클라이언트 인증서가 있습니다. openssl s_server 및 s_client를 사용하여 인증서가 자체 서명 된 인증서에 필요한 명령 줄 옵션을 사용하여 '작동 중'임을 테스트했으며 오류가 생성되지 않았습니다. 클라이언트에nodejs https 클라이언트 인증서가 전송되지 않았지만 전송되었습니다.
`Error: 140735833322304:error:140890C7:SSL routines:ssl3_get_client_certificate:peer did not return a certificate:../deps/openssl/openssl/ssl/s3_srvr.c:3330:`
오류는 다음과 같습니다 :
클라이언트가 HTTPS를 통해 서버에 연결
, 서버는 즉시 피어 인증서를 가져올 수 없습니다라는 오류가 발생합니다`{ Error: socket hang up
at TLSSocket.onConnectEnd (_tls_wrap.js:1073:19)
at Object.onceWrapper (events.js:322:30)
at emitNone (events.js:120:20)
at TLSSocket.emit (events.js:218:7)
at endReadableNT (_stream_readable.js:1054:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
code: 'ECONNRESET',
path: null,
host: 'localhost',
port: 443,
localAddress: undefined }`
`140735833322304:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1494:SSL alert number 40`
`140735833322304:error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1217:
`
그러나 URL의 핸들러가 실행되어 req.socket.getPeerCertificate()를 호출하고 클라이언트 인증서가 명확하게 전송되었습니다.
클라이언트가 실제로 인증서를 전송할 때 왜 이러한 오류가 발생합니까?
도움을 주시면 감사하겠습니다.
주셔서 감사합니다 : https://stackoverflow.com/questions/27611193/curl-ssl-with-self-signed-certificate – krish