로컬 환경에서 보안 연결(HTTPS)을 테스트하기 위해 OpenSSL을 사용하여 자체 서명 인증서를 생성하고 적용하는 방법입니다.
1. OpenSSL 설치 및 실행
먼저 Windows용 OpenSSL을 설치한 후 다음 단계를 진행하세요.
1) OpenSSL 설치
a.OpenSSL 3.6.1 다운로드주소 : https://softdownload.net/wsystemadmin/6567082
설치를 진행하실때 The OpenSSL binaries (/bin) directory로 설정해주세요
b. 환경변수추가
명령 프롬프트(CMD)를 **'관리자 권한으로 실행'**합니다.
아래의 명령어를 한줄씩 입력합니다.
set OPENSSL_CONF=C:\Program Files\OpenSSL-Win64\bin\openssl.cfg
set Path=%Path%;C:\Program Files\OpenSSL-Win64\bin
2) OpenSSL 명령어실행준비
a. 명령 프롬프트(CMD)를 **'관리자 권한으로 실행'**합니다.
b. OpenSSL이 설치된 bin 폴더 경로로 이동합니다.
(예: cd C:\Program Files\OpenSSL-Win64\bin)
2. 인증서 생성 명령 입력
아래 명령어를 순서대로 입력하여 키와 인증서를 생성합니다.
a. 개인키(Private Key) 생성
openssl genrsa -out client.key 2048
b. RSA 개인키 추출
openssl rsa -in client.key -out client.key
c. v3.ext 파일생성
메모장을 열어 아래의 내용을 복사하고 v3.ext 저장후 C:\Program Files\OpenSSL-Win64\bin 폴더 복사하시면됩니다.
authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = localhost IP.1 = 127.0.0.1
d. 인증서 서명 요청(CSR) 파일 생성 아래 매개변수를 본인의 정보에 맞게 수정하여 입력하세요.
openssl req -sha256 -new -key client.key -out client.csr -subj "/C=KR/ST=Seoul/L=Gangnam/O=MyCompany/OU=IT/CN=localhost"
[매개변수 설명]
C (Country): 국가 코드 2자리 (예: KR)
ST (State): 주/도 이름 (예: Seoul)
L (Locality): 시/군/구 이름
O (Organization): 회사 이름
OU (Organizational Unit): 부서 이름
CN (Common Name): localhost 또는 본인의 IP 주소
d. 자체 서명 인증서(CRT) 생성 (유효기간 365일)
openssl x509 -req -in client.csr -signkey client.key -out client.crt -days 365 -sha256 -extfile v3.ext
3. 파일 배치
-
파일 복사: 생성된
client.key,client.crt,client.csr세 파일을 아래 경로로 복사합니다.-
경로:
{{설치 경로}}/public/ssl(폴더가 없으면 생성하세요) -

-
4. Windows 에서의 인증서 신뢰 설정
OpenSSL로 만든 '자체 서명 인증서'는 브라우저가 신뢰하지 않아 경고 메시지가 뜹니다. 이를 해결하려면 다음 과정을 수행하세요.
-
생성한 client
.crt파일을 더블 클릭합니다. -
[인증서 설치] -> [로컬 컴퓨터] 선택.
-
[모든 인증서를 다음 저장소에 저장] -> [찾아보기] 클릭.
-
[신뢰할 수 있는 루트 인증 기관]을 선택하고 확인을 눌러 설치를 완료합니다.
--------------------------------------------------------------------------------------광고(Advertising)--------------------------------------------------------------------------------------------------------