며칠 동안 붙어있어서 아직도 알아 내지 못했습니다. 난 단지 파이썬에서 간단한 TLS C/S 통신을 만들고 싶다. EC2를 사용하는 서버의 경우 클라이언트는 내 랩톱을 사용합니다. 설치 및 정상 소켓 통신 테스트 및 모든 정상적으로 작동합니다.클라이언트 측의 인증서가
공식 문서에서 this tutorial을 시도하면 문제가 발생합니다. 다음 클라이언트 코드의 경우 :
# require a certificate from the server
ssl_sock = ssl.wrap_socket(s,
ca_certs="/etc/ca_certs_file",
cert_reqs=ssl.CERT_REQUIRED)
는 지금까지 내가 알고있는 부분
/etc/ca_certs_file
는 CA의 일부 인증해야합니다. 나는 그들을 어디에서 찾아야하는지 혼란 스럽다. 실제로 EC2 서버의
/etc/ssl/certs
에 .pem 파일이 있지만 클라이언트, 내 랩톱에는 아무것도 없습니다.
는 또한,
this tutorial on openssl에 따른 사용자 인증서를 생성하려고 내 EC2 서버에 동일한 디렉토리에 클라이언트에 대한
cakey.pem
,
cacert.pem
서버에 대한,
userkey.pem
,
usercert-req.pem
, 모두를 생성하는 단계를 따랐다.
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
unable to load certificate
140420412405408:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE
그래서 실제로 방법이 인증서 파일이 생성 얻을한다 : 나는 openssl ca -in usercert-req.pem -out usercert.pem
을 실행하면 오류가 출력? 서버 측에서 생성 한 다음 클라이언트가 공중에서 요청할 때까지 기다리거나 클라이언트 측에서 생성하거나 타사에서 얻고 클라이언트 측에서 직접 사용합니까?
아무도 안내 할 수 있습니까? 어떤 도움을 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. 그래서 명령에 의해 같은 이름의 두 .pem 파일을 생성하여 모든 정보를 하나의 파일에 저장합니까? – Yulong
예 두 개의 키가 동일한 파일에 배치됩니다. 파일을 생성 할 때마다 다른쪽에 복사하기 만하면 클라이언트와 서버 모두 동일한 파일을 사용합니다. 두 개의 다른 파일 이름을 지정하면 키는 물론 두 개의 서로 다른 파일에 배치됩니다. – andrean
알겠습니다. 나는 그것이 효과가있어. 고마워요! – Yulong