테스트 사이트 - 개발 중인 베타 버전입니다

API 파이썬 connection error 발생 , 클라이언트 인증서 , CA인증서, 클라이언트 개인키 관련 옵션 코드 작성

현풋 3년 전 조회 3,553

파이썬으로 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개

현풋
3년 전

SSL 키는 말씀해주신대로 openssl 로 생성하여서 

text.crt(클라이언트인증서) , ca-chain(CA인증서) , private.key(클라이언트 개인키) 를 생성하였습니다.

 

파이썬에서 커리문을 실행하는 방법이 있는건가요?

제가 원하는건 위의 작성한 커리문을 파이썬 문법에맞게 바꾸는것인데요..ㅜㅜ

혹시 알고계시면 답장주시면 너무 감사하겠습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

마젠토
3년 전
너무 쉬운것 같은데, 구글 검색부터 해보는 것을 추천해 드립니다.
현풋
3년 전
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
ssl_context.verify_mode = ssl.CERT_REQUIRED
ssl_context.load_verify_locations('C:/Users/kghengice/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc/LocalState/rootfs/home/khj94/ca-chain')

계속 구글링하여 다음과같은 코드를 넣고 실행하였는데도 똑같이 connection error가 뜹니다.
2일째 계속 검색해봐도 제 수준에서 안돼는건가싶어서 질문게시판에 올린겁니다..
혹시 아시는 부분이면 도움을 요청드리고싶습니다.
현풋
3년 전
이제 막 시작한 초보자라서 .. 노력을 안하는 모습을 보였으면 죄송합니다.
계속 검색하고 시행착오 겪어보면서 시도했는데 안돼서 글을 올린거였습니다.ㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

3년 전

ssl 키를 로컬에서 만들어 보고 (openssl)

 

거기서 만들어진 파일을 curl에서 맞게 불러주면 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

현풋
3년 전
SSL 키는 말씀해주신대로 openssl 로 생성하여서

text.crt(클라이언트인증서) , ca-chain(CA인증서) , private.key(클라이언트 개인키) 를 생성하였습니다.



파이썬에서 커리문을 실행하는 방법이 있는건가요?

제가 원하는건 위의 작성한 커리문을 파이썬 문법에맞게 바꾸는것인데요..ㅜㅜ

혹시 알고계시면 답장주시면 너무 감사하겠습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인