API 파이썬 connection error 발생 , 클라이언트 인증서 , CA인증서, 클라이언트 개인키 관련 옵션 코드 작성
본문
파이썬으로 API 호출하는 과정에서 SSL 핸드쉐이크 오류가 발생하여 관련 기관에 물어보니 아래와 같은 답변을 받았습니다.
SSL 핸드쉐이크 오류가 발생한 이유는 클라이언트 인증서, CA인증서, 클라이언트 개인 키 등의 정보를 옵션으로 사용하여야 하는데 이러한 옵션들이 없어 상호 인증에 실패 하였다고 합니다.
쿼리문 으로 curl -k --tlsv1.2 --cacert ./ca-chain.crt --cert ./client.crt --key ./client.key -H
위와 같은 설정이 있어야 한다고 합니다.
맨 처음에 tlsv1.2 부분은 알아보니 파이썬에서
import ssl
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) 구문을 추가하면 된다고 배웠습니다.
그다음 cacert ./ca-chain.crt --cert ./client.crt --key ./client.key 이 부분은 어떻게 파이썬으로 코드로 구현해야 할지 몰라서 질문을 올리게 되었습니다.
긴글읽어주셔서 감사합니다.
배움의자세로 열심히 코딩공부하겠습니다. 감사합니다.
답변 2
ssl 키를 로컬에서 만들어 보고 (openssl)
거기서 만들어진 파일을 curl에서 맞게 불러주면 됩니다.
SSL 키는 말씀해주신대로 openssl 로 생성하여서
text.crt(클라이언트인증서) , ca-chain(CA인증서) , private.key(클라이언트 개인키) 를 생성하였습니다.
파이썬에서 커리문을 실행하는 방법이 있는건가요?
제가 원하는건 위의 작성한 커리문을 파이썬 문법에맞게 바꾸는것인데요..ㅜㅜ
혹시 알고계시면 답장주시면 너무 감사하겠습니다.