OpenSSL 사용 문서
OpenSSL은 보안 통신을 위해 사용되는 강력한 오픈 소스 툴킷입니다. 암호화, 복호화, SSL/TLS 프로토콜 등의 기능을 제공합니다. ServBay에는 기본적으로 OpenSSL이 포함되어 있으며, 이 문서에서는 OpenSSL의 설치, 설정 및 사용 방법을 자세히 안내합니다.
설치 및 설정
설치
ServBay에는 기본적으로 OpenSSL이 포함되어 있으므로 별도의 설치가 필요하지 않습니다.
설정
OpenSSL의 설정 파일은 일반적으로 /Applications/ServBay/package/common/openssl/3.2
디렉터리에 위치합니다(Intel 칩셋은 /Applications/ServBay/package/common/openssl/1.1.1u
에 위치). 기본 설정 파일명은 openssl.cnf
입니다. 필요에 따라 이 설정 파일을 수정하여 OpenSSL의 동작 방식을 조정할 수 있습니다.
예시 설정 파일 내용:
ini
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, fully qualified host name)
commonName_max = 64
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
기본 사용법
OpenSSL은 다양한 암호화 및 인증서 관리 작업을 위한 풍부한 명령줄 도구를 제공합니다. 아래는 기본 사용 예시입니다.
개인 키 및 공개 키 생성
RSA 개인 키 생성
bash
openssl genpkey -algorithm RSA -out private_key.pem
1
개인 키로부터 공개 키 생성
bash
openssl rsa -pubout -in private_key.pem -out public_key.pem
1
인증서 서명 요청(CSR) 생성
CSR 생성
bash
openssl req -new -key private_key.pem -out request.csr
1
자체 서명 인증서
자체 서명 인증서 생성
bash
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1
인증서 관리
인증서 정보 확인
CSR 정보 확인
bash
openssl req -text -noout -verify -in request.csr
1
인증서 정보 확인
bash
openssl x509 -text -noout -in certificate.crt
1
인증서 포맷 변환
PEM을 DER로 변환
bash
openssl x509 -outform der -in certificate.pem -out certificate.der
1
DER을 PEM으로 변환
bash
openssl x509 -inform der -in certificate.der -out certificate.pem
1
암호화 및 복호화
대칭키 암호화
AES로 파일 암호화
bash
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
1
AES로 파일 복호화
bash
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
1
비대칭키 암호화
공개키로 파일 암호화
bash
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt
1
개인키로 파일 복호화
bash
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
1
자주 묻는 질문
1. OpenSSL 명령어가 실행되지 않음
- 해결 방법: ServBay의 환경 변수가 올바르게 설정되었는지 확인하세요. 문제가 계속된다면, ServBay의 "설정" > "명령줄 도구"에서 각각
zsh
와bash
에 대해 설정을 완료한 후 터미널을 다시 실행하세요.
2. 생성한 인증서가 유효하지 않음
- 해결 방법: 인증서 요청 파일(CSR)과 설정 파일의 정보가 올바른지 확인하세요. 모든 필수 항목이 정확하게 입력되었는지 체크하세요.
3. 암호화 또는 복호화 실패
- 해결 방법: 사용한 키와 알고리즘이 서로 맞는지 확인하세요. 입력 및 출력 파일 경로도 정확한지 점검하세요.
요약
OpenSSL은 다양한 보안 통신 및 암호화 작업에 적합한 강력하고 유연한 툴킷입니다. 이 문서를 통해 ServBay 환경에서 OpenSSL의 설치, 설정, 인증서 관리, 데이터 암호화 방법을 쉽게 습득할 수 있습니다.