Mac 키체인에서 OpenVPN 용 인증서 생성하기
12년도에 쓴 [우분투 openVPN 설치/설정법] 의 연장선으로.. Ubuntu 18.04 에서 OpenVPN 을 설치하고자 했다.
설치법 자체는
DigitalOcean - How To Set Up an OpenVPN Server on Ubuntu 18.04
이런데 잘 나와있는데, 나는 인증서 생성을 EasyRSA 를 이용하고 싶지 않았음.
그래서 맥의 키체인을 이용해보았다.
1. CA 생성
2. Server 용 인증서 생성
3. Client 용 인증서 생성
4. 인증서 / 키 변환
키체인 접근 앱을 연 다음에 상단 메뉴를 통해 이렇게 접근하자.
CA 생성은 "인증 기관 생성...", 그 외 인증서는 "인증서 생성..." 을 이용하면 된다.
1. CA 생성
이름은 적당히 하고 유형을 "자체 서명 루트 CA"로 하자.
사용자 인증서는 별로 영향이 없는 것 같고 왜 있는지 모르겠지만 일단 VPN 서버로 설정하였고,
"기본값 덮어쓰기"를 꼭 체크 후 계속.
이후 유효기간을 적당히 설정하고 "초대장 서명" 은 체크해제하고 계속.
인증서 정보도 메일과 이름 외에 비워둬도 되니 적당히 입력하고 넘어간다.
키 쌍 정보 역시 그대로 진행.
키 사용 확장자(KUE, 작업)와 확장된 키 사용 확장자(EKU, 목적)를 묻는데, CA 생성시에는 "이 CA에 대한" 과 "이 CA의 사용자에 대한" 으로 두번 묻는다.
무슨 차이인지 잘 모르겠지만, 나는 감으로
"이 CA에 대한" KUE 와 "이 CA의 사용자에 대한" EKU 를 위 사진과 같이 설정하고 나머지 두개는 포함하지 않음 체크하고 진행하였다.
"이 확장자는 중요합니다." 의 경우 난 체크를 했는데 안해도 되는 듯...? 잘 모르겠다.
기본 제한 확장자나 대체 이름 확장자는 포함하지 않은 것 같고 진행진행!
신뢰 설정은 하지 않아도 된다.
완료하면, 인증서, 공개 키, 개인 키 3개가 생성되는데, 인증서만 우클릭 하여 .cer 포맷으로 내보내기 해두자.
2. Server 용 인증서 생성
이번엔 "인증서 생성..." 으로 진행.
이름을 적당히 설정하고 신원 유형은 "리프" 로 한다. 스샷에 VPN 클라이언트로 되어 있는데 VPN 서버가 맞다. 다만 앞에서 말했듯 상관없는 듯?
마찬가지로 기본값 덮어쓰기를 꼭 체크하고 넘어가자.
그 다음 발급자 선택 에서 앞에서 만든 CA 를 선택하고 계속
키 사용 확장자(KUE)는 서명, 키 암호화
확장된 키 사용 확장자(EKU)는 SSL 서버 인증 을 선택한다.
이 후 제목 대체 이름 확장자에서 DNSName 이나 IPAddress 중 하나 이상 입력해주고 진행. 아무거나 적어도 상관..은 없는 것 같지만 난 VPN 서버의 호스트 주소를 적어주었다.
그럼 서버용 인증서도 생성 완료!
얘도 마찬가지로 인증서, 공개 키, 개인 키 3개가 만들어지는데 이번엔 인증서와 개인 키 두개를 각각 .cer, .p12 확장자로 내보내기를 해두자.
3. Client 용 인증서 생성
서버와 비슷하지만 이렇게 진행하면 된다.
서버 인증서와 동일하게 인증서와 개인 키를 추출한다.
4. 인증서 / 키 변환
인증서 확장자인 .cer 은 .crt 로,
개인 키 확장자인 .p12 은 .key 로 변환이 필요하다.
각각 터미널에서 아래 명령어를 통해 변환 가능. 파일 이름은 알아서 바꿔주자.
$ openssl x509 -inform DER -in filename.cer -out filename.crt
$ openssl pkcs12 -nodes -nocerts -in filename.p12 -out filename.key
인증서의 정보를 보고 싶다면
$ openssl x509 -in ca.crt -noout -text
생성된 인증서들을 바탕으로 원래 OpenVPN 설치 / 설정 과정에 맞춰 집어 넣으면 된다.
ca.crt, server.crt, server.key, client.crt, client.key
이렇게 5개가 생성되면 정상.
dh2048.pem 과 ta.key 는 우분투에서 그냥 바로 만들 수 있는데,
$ openssl dhparam -out dh2048.pem 2048
$ openvpn --genkey --secret ta.key
명령어를 통해 만들 수 있다.
'개발개발 > Mac' 카테고리의 다른 글
Mac 키체인에서 OpenVPN 용 인증서 생성하기 (0) | 2018.06.28 |
---|---|
Mac에 kappa (zappa 의존) 설치하기 (0) | 2017.06.26 |
Mac 에서 설치디스크 만들기 (Flashing Image) (0) | 2016.08.27 |
Mac 에서 mysql + phpmyadmin 사용하기 (4) | 2015.01.27 |
[Mac] 독에서 아이콘 없애기 (0) | 2013.12.15 |
[Mac] 로그인 항목에 등록(로그인 시 실행) (0) | 2013.12.15 |