SSL
-
cURL error 60 이슈 해결 방법개발 이야기/개발 및 서비스 2021. 8. 13. 17:21
서버에 CA 인증 기관 파일이 없을 때 발생하는 에러입니다. Unity 클라이언트에서는 unitytls_x509verify_flag_cn_mismatch라는 에러로 확인할 수 있으며, cURL 사용시에는 SSL certificate problem L unable to get local issue certificate 와 같은 에러가 발생합니다. 웹 서버에서는 보통 공인키, 개인키, 체인 인증서, 루트 인증서를 하나의 파일로 묶어 사용하기 때문에 거의 발생하지 않을 겁니다. SSL이 적용된 어플리케이션 혹은 API 서버에서 간혹 공개/개인키와 루트 인증서(CA)를 별도 설정하여 사용하면서 이 에러가 발생할 수 있습니다. nodejs / https 모듈을 사용하는 API 서버라면 아래와 같이 설정할 수 있습..
-
c++ 와 js간 소켓 통신 예제 + α개발 이야기/개발 및 서비스 2021. 7. 6. 17:47
Legacy 프로젝트를 모바일 혹은 웹으로 확장 할 일이 있어 겸사 겸사 정리해 보았습니다. 샘플 프로젝트는 아래와 같은 흐름을 가진다고 가정합니다. 모든 연결은 stateful로 연결되어 필요한 경우 수시로 데이터를 주고 받을 수 있게 합니다. 최종 사용자는 제공된 웹 앱 혹은 모바일 앱에서 wss로 javascript server에 연결하여 인증과 기타 필요한 작업을 요청합니다. 그리고 javascript server는 VPC 내부의 서버에 socket으로 연결합니다. c++ server 입장에서는 javascript server를 위해 준비할 사항은 추가적인 패킷 정의 뿐입니다. 이제 실제 샘플을 실행해 보겠습니다. 아래 예제에 사용된 코드는 이 곳에서 다운로드 가능합니다. C++ 서버 준비 우선 ..
-
OpenSSL을 이용해 사설 인증서 생성과 사용 방법(간략 정리)개발 이야기/개발 및 서비스 2021. 7. 2. 17:59
인증서와 관련된 이야기는 이 전에 기록한 글이 있어 생략합니다. [[ 인증기관( CA, Certificate Authoroty) 의 개인키와 인증서 생성 ]] CA private key 생성 > genrsa -des3 -out root_private.key 2048 CA의 CSR(Certificate Signing Request) 생성. (csr에는 공개키와 알고리즘 정보를 포함됩니다.) > req -new -key root_private.key -out root.csr CA의 인증서를 생성합니다. > x509 -req -days 3650 -in root.csr -signkey root_private.key -out root.crt [[ 사용처(웹 서버 등)를 위한 개인키와 인증서 생성 ]] 사용처를 위..
-
Private 웹 사이트에 SSL 도입하기 - 3/3개발 이야기/인프라 구축 및 운영 2020. 1. 16. 17:05
마지막으로 직접 인증서를 발급하고 이를 개인용 사이트에 적용하는 방법을 상세히 알아보겠습니다. 이 테스트는 CentOS 7.x , OpenSSL, Nginx에서 실행되었습니다. 인증서 발급을 위한 준비 인증서를 발급한 기록을 위해 두 가지 파일이 필요합니다. 하나는 발급된 인증서의 정보를 기록하는 것과 serial을 기록하는 파일, 이렇게 두 개의 파일을 준비해야 합니다. touch /etc/pki/CA/index.txt echo '00' > /etc/pki/CA/serial 추후 인증서를 발급 후 두 파일을 보면 아래와 같습니다. V 210109061528Z 00 unknown /C=KR/ST=Seoul/O=COMPANY/OU=DEV1/CN=your_domain/emailAddress=your_emai..
-
Private 웹 사이트에 SSL 도입하기 - 2/3개발 이야기/인프라 구축 및 운영 2020. 1. 16. 12:51
이번에는 우리가 알고 있는 공인인증서는 무슨 역할을 하고, 왜 인증된 기관에서 받아야 하는지 알아보겠습니다. 인증서(Certificate)는 무엇이며 왜 만들어졌는가? 인증서는 아래와 같은 내용이 포함되어 있습니다. - 발행 장소 - 소유자 이름과 email 주소 - 인증서의 용도, 유효기간 - Common Name(CN) - Public Key - Hash 인증서에 포함된 Public Key는 발행 주체(예를들면 서비스를 제공하는 웹 사이트 등)의 PK이며, 이 정보들은 인증기관의 private key로 암호화 되었습니다. 브라우저들은 유명한 인증 기관의 Public Key를 이미 포함하고 있어 인증서를 받아 발행 주체의 Public Key를 확인할 수 있습니다. 인증서를 공인된 인증 기관에 신청하는 ..
-
Private 웹 사이트에 SSL 도입하기 - 1/3개발 이야기/인프라 구축 및 운영 2020. 1. 15. 12:18
회사 자체에서 사용되는 웹 사이트에 SSL을 도입할 일이 생겼는데, SSL 도입 자체가 처음이라 도입 과정의 내용을 정리해 보았습니다. Self Signed Certificate이라고 하는 용어도 이번에 첨 알게 되었네요. 필요한 사전 내용부터 도입 과정, 예외상항에 대해서 순서대로 정리 보았으니 참고 되시길 바랍니다. (* 처음 해보는 거라 잘못된 정보, 오류가 있을 수 있습니다. ^^;;) 알고 가야 할 것들! SSL(Secure Socket Layer)이 무엇인지는 너무 많은 글들이 있으니 여기서는 SSL 도입에 필요한 요점만 정리하겠습니다. 사실 TLS(Transport Layer Security)지만 SSL이라고 부르기 때문에 그대로 사용하겠습니다. HTTP와 HTTPS의 차이 HTTP는 평문(..