open ssl은 네트워크를 통한 데이터 통신에서 쓰이는 프로토콜인 TLS,SSL의 오픈소스 판이다.
C언어로 작성되어 있는 라이브러리 안에는, 기본적으로 암화호화 기능및 여러 유틸리티 함수들이 구현되 있다.
이제 좀 풀어서 설명해보겠습니다.
openSSL는 TLS/SSL 프로토콜을 실제 사용하게 만든 라이브러리 입니다.
그리고 이 라이브러리의 기능은 개인키/공개키 페어 생성, X.509 인증서 생성, TLS/SSL과 관련된 암호화/복호화 등이 있습니다.
명령어 사용법 : openssl 명령어 [옵션] [매개변수]
openssl의 라이브러리의 명령어를 알아보겠습니다.
이 명령어는 파일을 암호화와 해독할때 쓰이는 명령어 입니다.
암호화
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
-aes -256 -cbc : cbc모드를 사용하여 256비트 크기의 aes 알고리즘을 사용하여 암호화 한다는 말
-salt : 좀더 복잡하게 암호화 한다는말
-in : 뒤에 있는 파일이 암호화 할파일
-out : 암호화 된 파일을 저장할 경로 와 파일
해독
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
-d : 암호를 해독 한다는 뜻 입니다.
이 명령어는 SSL/TLS와 관련된 일을 하는 명령어 입니다.
1. SSL/TLS 연결 테스트
openssl s_client -connect www.example.com:443
s_client : Openssl의 클라이언트 도구를 활성화 시킵니다.
conmect : 접속할 host와 포트를 지정해 줍니다.
2. 서버에게 특정 데이터를 전달하고 받아오기
echo "GET /index.html" | openssl s_client -connect www.example.com:443
echo "GET /index.html" : 서버로 보낼 데이터가 index.html 입니다.
이 외에도 인증서 생성하기등 이있습니다. 하지만 지금은 잘 이해가 안되는 부분이라 나중에 포스팅을 업데이트 하겠습니다 죄송합니다.
[리눅스 명령어 정리] diff 개념/사용법 (0) | 2023.06.28 |
---|---|
[리눅스 명령어 정리] nmap 개념/사용법 (0) | 2023.06.22 |
[리눅스 명령어 정리] Netcat (0) | 2023.05.19 |
[리눅스 명령어 정리] SSH (0) | 2023.05.17 |
[리눅스 명령어 정리] gizp, bzip2, tar (0) | 2023.05.12 |