openssl을 사용하여 gmail.com:25에 대한 보안 smtp 연결을 구축하고 있습니다. 그래서 나는 성공적으로 서버에 연결하여 명령 STARTTLS를 보냅니다 (220 2.0.0 TLS를 시작할 준비가되었습니다). 그런 다음 분리하지 않고 다음 코드를 실행합니다C on SMTP : OpenSSL을 통한 STARTTLS
SSL_METHOD* method = NULL;
SSL_library_init();
SSL_load_error_strings();
method = SSLv23_client_method();
ctx = SSL_CTX_new(method);
if (ctx == NULL)
{
ERR_print_errors_fp(stderr);
}
SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
ssl = SSL_new(ctx);
if (!SSL_set_fd(ssl, socket))
{
ERR_print_errors_fp(stderr);
return;
}
if (ssl)
{
if (SSL_connect((SSL*)ssl) < 1)
{
ERR_print_errors_fp(stderr);
}
// then i think i need to send EHLO
}
하지만 오류가 SSL_connect를 호출 한 후 :
18143:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:284.
그리고 TLSv1_client_method 경우 : 내가 SSLv3_client_method를 사용하는 경우
24953:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:601:
오류가 발생합니다 :
21293:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:284:
왜? 내가 뭘 잘못 했니?
이 오류가 발생합니다 : 18143 : 오류 : 1408F10B : SSL 루틴 : SSL3_GET_RECORD : 잘못된 버전 번호 : s3_pkt.c : 284. 그리고 TLSv1_client_method 경우 : 21293 : 오류 : 1408F10B : SSL 루틴 : SSL3_GET_RECORD : 잘못된 버전 번호 : s3_pkt.c : 284 : 재미 :) – Jackell