728x90
S2N-TLS 공식 문서 참고 (https://aws.github.io/s2n-tls/usage-guide/)
1. S2N-TLS 설치
먼저, S2N-TLS 라이브러리를 설치해야 합니다. S2N-TLS는 C로 작성된 라이브러리이며, GitHub 저장소에서 소스를 다운로드할 수 있습니다.
bash코드 복사
git clone <https://github.com/aws/s2n-tls.git>
cd s2n-tls
2. 종속성 설치
S2N-TLS는 몇 가지 종속성 라이브러리가 필요합니다. 다음 명령어를 사용하여 종속성을 설치할 수 있습니다:
bash코드 복사
sudo apt-get update
sudo apt-get install -y gcc cmake libssl-dev
3. 빌드 및 설치
S2N-TLS를 빌드하고 설치합니다.
bash코드 복사
mkdir build
cd build
cmake ..
make
sudo make install
4. S2N-TLS 초기화
프로그램 내에서 S2N-TLS를 초기화합니다.
c코드 복사
#include "s2n.h"int main(int argc, char *argv[])
{
if (s2n_init() != S2N_SUCCESS) {
fprintf(stderr, "Error: %s\\n", s2n_strerror(s2n_errno, "EN"));
exit(1);
}
// TLS 설정 및 연결 코드 작성
s2n_cleanup();
return 0;
}
5. TLS 연결 설정
클라이언트와 서버 간의 TLS 연결을 설정하고 데이터를 송수신합니다. S2N-TLS API를 사용하여 설정할 수 있습니다.
클라이언트 예제
c코드 복사
struct s2n_connection *conn = s2n_connection_new(S2N_CLIENT);
s2n_connection_set_fd(conn, socket_fd);
s2n_negotiate(conn);
char buffer[1024];
s2n_send(conn, "Hello, World!", strlen("Hello, World!"), &bytes_sent);
s2n_recv(conn, buffer, sizeof(buffer), &bytes_received);
s2n_shutdown(conn, &blocked);
s2n_connection_free(conn);
서버 예제
c코드 복사
struct s2n_connection *conn = s2n_connection_new(S2N_SERVER);
s2n_connection_set_fd(conn, client_socket_fd);
s2n_negotiate(conn);
char buffer[1024];
s2n_recv(conn, buffer, sizeof(buffer), &bytes_received);
s2n_send(conn, "Hello, Client!", strlen("Hello, Client!"), &bytes_sent);
s2n_shutdown(conn, &blocked);
s2n_connection_free(conn);
728x90
'study > 보안' 카테고리의 다른 글
VirtualBox에서 sudo permission denied(not in the sudoers file) 에러 뜰때 (0) | 2025.01.10 |
---|---|
VirtualBox에서 Ubuntu 복사 붙여넣기, 공유파일 안될때 (0) | 2025.01.10 |
s2n-tls (0) | 2024.05.30 |
TLS 공부 (0) | 2024.05.25 |
문서형 악성코드 분석 개요 (0) | 2024.05.14 |