
openssl_error_string 함수는 OpenSSL 라이브러리의 오류 메시지를 문자열로 반환합니다. 반환값은 다음과 같이 구성되어 있습니다.
- 오류 코드 (예: SSL_ERROR_SSL)
- 오류 메시지 (예: "SSL library error: -1")
오류 코드를 처리하는 방법은 다음과 같습니다.
1. OpenSSL 라이브러리의 오류 코드를 참조하여 오류 코드를 확인합니다. 예를 들어, SSL_ERROR_SSL은 SSL 라이브러리의 오류를 의미합니다.
2. 오류 코드를 처리하는 로직을 작성합니다. 예를 들어, SSL_ERROR_SSL 오류가 발생한 경우, SSL 연결을 재establish하는 로직을 작성합니다.
3. 오류 메시지를 로그로 기록하여 오류를 추적합니다.
예제 코드는 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
SSL_CTX *ctx;
SSL *ssl;
// OpenSSL 초기화
SSL_library_init();
ctx = SSL_CTX_new(TLS_client_method());
ssl = SSL_new(ctx);
// 오류 발생
SSL_set_fd(ssl, -1); // 오류 발생
// 오류 처리
char *err = ERR_error_string(ERR_get_error(), NULL);
printf("오류 메시지: %sn", err);
// 오류 코드 확인
int err_code = SSL_get_error(ssl, -1);
if (err_code == SSL_ERROR_SSL) {
printf("SSL 오류 발생n");
// SSL 연결 재establish
SSL_free(ssl);
ssl = SSL_new(ctx);
}
return 0;
}
이 예제 코드에서는 openssl_error_string 함수를 사용하여 OpenSSL 라이브러리의 오류 메시지를 문자열로 반환하고, 오류 코드를 확인하여 오류를 처리합니다.
2025-06-08 08:24