문제는 내 openssl 라이브러리에 있는 것 같은데, 이에 대한 해결책이 무엇인지 알아야 합니다.
$ curl --version
curl 7.81.0 (x86_64-pc-linux-gnu) libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.14
Release-Date: 2022-01-05
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets zstd
이 컬 명령을 사용할 때:
curl -k -vv \
--header 'ModuleID: 12' \
--header 'SOAPAction: http://tempuri.org/ILogInService/AreUserAndPasswordCorrect' \
--header 'Content-Type: text/xml;charset=UTF-8' \
--data '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:AreUserAndPasswordCorrect>
<!--Optional:-->
<tem:userName>a</tem:userName>
<!--Optional:-->
<tem:password>b</tem:password>
<!--Optional:-->
<tem:extension>0</tem:extension>
</tem:AreUserAndPasswordCorrect>
</soapenv:Body>
</soapenv:Envelope>' https://212.121.254.90:7777/Services/LogInService.svc
나는 다음과 같은 응답을 받았습니다.
* Trying 212.121.254.90:7777...
* Connected to 212.121.254.90 (212.121.254.90) port 7777 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: Conexión reinicializada por la máquina remota in connection to 212.121.254.90:7777
* Closing connection 0
* TLSv1.0 (OUT), TLS header, Unknown (21):
* TLSv1.3 (OUT), TLS alert, decode error (562):
curl: (35) OpenSSL SSL_connect: Conexión reinicializada por la máquina remota in connection to 212.121.254.90:7777
하지만 내 전화기에서 동일한 cURL 명령이 반환됩니다.
나는 그것이 openssl 버전과 관련이 있다고 생각합니다. 모바일 장치는 BoringSSL을 사용하고 있으며 Amazon 서버 중 하나는 openssl 1.1.1에서도 작동합니다.
실제 openssl 구현에서 어떻게 작동하게 할 수 있나요? 아니면 문제를 어떻게 확인할 수 있나요?