OPENSSL_malloc
- 메모리 할당, ONENSSL_free와 같이 사용
CRYPTO_num_locks
- 최대 처리가능한 mutex 개수
- mutex 관련하여 int 형 상수를 반환, 이만큼을 처리 할 수 있어야함
- OpenSSL-1.0.1j 기준으로 41임
- openssl/crypto/lock.c 소스에서 확인 가능
- 다중 스레드를 사용할 경우 충돌 할 수 있으므로 lock 사용
CRYPTO_THREADID_set_callback
- 주어진 lock type과 잠금 해제 여부(mode)로 해당 lock를 관리해줌
- 현재 실행 중인 스레드의 tid 별로 등록해서 관리 함
→ CRYPTO_THREADID_set_numeric을 사용한 콜백을 등록
- 콜백 등록 하지 않으면 기본 구현으로 사용됨
CRYPTO_THREADID_set_numeric
- 콜백 등록할 때 사용
- thread id와 pthread_self() 두개를 파라미터로 넣어줌
CRYPTO_set_locking_callback
- 모든 SSL 버전에서 사용가능
- mode & CRYPTO_LOCK 이면 n 번째 잠금을 설정
OpenSSL_add_all_algorithms
- OpenSSL은 여러 암호화 알고리즘을 쓰는데, all이면 다 쓰겠다는 뜻
- 그밖에 _all_digests/_all_ciphers 등등이 있음
SSL_load_error_strings
- libcrypto와 libssl에 대한 에러 문자열을 등록 함
- error:[error code]:[library name]:[function name]:[reason string]
SSL_library_init
- 사용 가능한 SSL/TLS 암호 및 Digest를 등록
- 초기화 할 때 시작하면 됨
- 보통 사용시에 SSL_load_error_strings랑 같이 많이 사용 함
- 항상 "1"을 반환하니까 반환 값 버려도 됨
SSL_CTX_new
- TLS/SSL 또는 DTLS 사용 연결을 설정하기 위한 프레임워크로 새 SSL_CTX 개체를 생성
SSL_new
- SSL_CTX_new로 생성한 context 객체를 파라미터로 설정
- TLS/SSL connection을 위한 객체를 생성함
- SSL_CTX_new → SSL_new → SSL_connect 순
SSL_set_fd(ssl 객체, fd)
- 파일 설명자 fd를 TLS/SSL(암호화)를 하기 위한 입력/출력 기능으로 설정
SSL_connect
- 서버와의 TLS/SSL 핸드셰이크를 시작함
- 기본 BIO 를 설정하여 통신 채널이 이미 설정되고 SSL 에 할당되어 있어야 함
SSL_get_peer_certificate
- 피어가 제시한 X509 인증서에 대한 포인터를 반환
- 없으면 NULL
참고자료
http://blog.purewell.biz/2014/11/openssl-supports-multi-threading.html
OpenSSL supports Multi-threading
Purewell's personal blog
blog.purewell.biz
'BackEnd > Linux' 카테고리의 다른 글
Notepad로 UTF-8 BOM 문제 해결하기 (1) | 2024.09.03 |
---|---|
ls 명령어/파일목록/linux ls (0) | 2021.06.17 |
프로세스/ps 명령어/pstack 명령어/kill 명령어 (2) | 2021.06.08 |
심볼릭 링크(Symbolic Link) (2) | 2020.12.17 |