OpenSSL Windows ȯ°æ ¼³Ä¡ ¹× ÀÎÁõ¼ Æ÷¸Ë º¯È¯ ¸Å´º¾ó ÀÔ´Ï´Ù.
http://www.aiocp.co.kr/ (19984)https://bigbangcloud.co.kr/ (19534)
안녕하세요.
서버를 운영하다보면 SSL 인증서 관련하여 파일을 변환, 수정해야할 때가 있는데
이를 위해 윈도우 환경에서 openssl을 설치하는 과정과 다양한 포맷으로 변경하는 방법을 매뉴얼로 만들어보았습니다.
이 글이 조금이나마 도움이 되셨으면 좋겠습니다.
우선 기본적으로 Windows 환경에서 OpenSSL 을 설치하는 방법부터 차근차근 설명드리겠습니다.
1.http://slproweb.com/products/Win32OpenSSL.html
위 링크 사이트 접속 후 하단의 링크 중 해당 운영체제 비트수에 맞는 1.1.1u 버전을 다운로드 해줍니다.
(글 작성 시기에 최신 버전 기준입니다. 보안을 위해 항상 최신버전을 유지하는 것을 권장드립니다.)
2. 다운받은 파일을 실행을 눌러 설치를 진행해줍니다.
약관에 동의하고 Next 클릭
OpenSSL DLLs 파일 경로 설정 기본적으로 설정되있는 값으로 Next 클릭.
3.마지막 OpenSSL 사용자로서 기부를 할 건지 선택하는 창입니다.
(기부를 원하지 않는다면 체크 해제 후 Finish 를 누르시면 됩니다)
4.이후 잘 설치가 되었는지 확인하려면
Win+R 키 를 눌러 CMD(명령프롬프트) 창을 연 후 명령어
openssl 입력 이후 version 입력
위와 같이 잘 나오면 설치 완료입니다.
이후 개인적으로 발급받은 인증서 파일이 있으시면 아래 부분은 스킵하셔도 됩니다.
자체 인증서 발급 부분은 아래 매뉴얼을 참고하여 진행해주시면 됩니다.
이 글에선 테스트용으로 자체 인증서를 발급하여 해당 인증서의 포맷등을 변환하는 작업을 진행해보겠습니다.
아래는 자체 인증서 발급 부분이며, 인증서 파일이 있으시면 다음으로 넘어가셔도 좋습니다.
빨간색 글씨는 파일의 이름을 임의로 설정할 수 있는 부분입니다.
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout keyfile_name.key -out crtfile_name.crt
각 명령어 값들의 설명은 아래와 같습니다.
-openssl : openssl 인증서, 키 및 기타 파일을 만들고 관리하는 명령어 -req –x509 : X.509 CSR(인증서 서명 요청)을 사용 -nodes : 암호사용을 해제. 해당옵션이 없으면 아파치 재시작할 때마다 비밀번호 입력 필요 -days 365 : 인증서 유효기간 설정(일 단위, 기본값 30일) -newkey rsa:2048 : 2048비트 RSA키 생성 하단은 인증서 발급 요청시 필요한 요청자의 정보 기입입니다.(자체인증서 생성으로 임의 입력 가능) -Country Name (2 letter code) [XX]: 국가코드 -State or Province Name (full name) []: 도시명 -Locality Name (eg, city) [Default City]: 구/군 -Organization Name (eg, company) [Internet Widgits Pty Ltd]: 회사명 -Organizational Unit Name (eg, section) []: 부서명 -Common Name (eg, your name or your server's hostname) []: 도메인 이름 혹은 서버IP -Email Address []: 관리자 이메일 주소 |
위처럼 진행하셨으면 openssl 명령어를 입력한 cmd 창의 경로에
아래와 같이 많이 사용하는 인증서 파일이 생성되었음을 확인할 수 있습니다.
이제 이 인증서 파일을 가지고 여러 포맷으로 변환하여보겠습니다.
이미 인증서를 가지고 계신 분들은 아래부터 참조하시면 됩니다.
crt+key -> pfx 로 변환
해당 경로의 경로로 cmd 접근 후 아래 명령어를 입력해주세요.
openssl pkcs12 -export -in crtfile_name.crt -inkey keyfile_name.key -out pfxfile_name.pfx
암호 입력 후 암호 재확인 과정을 거친 후 파일이 정상적으로 생성됩니다.
이번엔 반대로 이 pfx 파일을 가지고 crt 파일과 key 파일로 변환 해보겠습니다.
pfx 파일은 암호가 필요하기에 변환하기전 원본 pfx 파일의 암호가 필요합니다.
pfx-> crt+key 로 변환
crt 변환
openssl pkcs12 -in pfxfile_name.pfx -clcerts -nokeys -out pfxtocrt.crt
#암호입력
Key 변환
openssl pkcs12 -in pfxfile.name.pfx -nocerts -nodes -out keyfile_name.key
#암호입력
아래와 같이 정상적으로 생성되는 것을 볼 수 있겠습니다.
감사합니다.