블로그 이미지
안녕하세요~ iolate(a.k.a. isho) 의 블로그 입니다~! iolate

카테고리

분류 전체보기 (169)
Server, Cloud (7)
끄적끄적 (6)
Linux, Ubuntu (25)
개발개발 (45)
Mac, iOS (41)
Embedded (19)
NAS (1)
Web (5)
Network (3)
Review (10)
기타 (7)
비공개글 (0)
Total634,099
Today16
Yesterday195

'인증서'에 해당되는 글 1건

  1. 2018.06.28 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

명령어를 통해 만들 수 있다.


Posted by iolate

최근에 달린 댓글

최근에 받은 트랙백

글 보관함