파이썬에서 루트 인증서없이 SSL 인증서를 확인하는 방법은 무엇입니까?
인증서 체인을 확인하기 위해 루트 CA 대신 하위 CA 중 하나를 사용할 수 있습니다. 이를 경로 구축이라고하며 RFC that covers the technique이 있습니다.
end-entity 서버 인증서를 직접 사용할 수도 있습니다. 루트 CA 또는 종속 CA가 아니라 신뢰를 얻으십시오.
루트 CA 또는 종속 CA를 사용할 수없는 경우 다른 구성표로 이동해야합니다.
이 귀하의 질문에 직접 ... 당신이 할 수있는 한 가지 pin the host's public key입니다 답변, 전체 PKI 또는 PKIX 기계를 포기하지 않습니다.
key distribution problem이 여전히 적용되며 사이드 스텝을 수행 할 방법이 없습니다. PKIX에서는 CA의 루트 인증서가 필요합니다. 고정 할 때 호스트의 공개 키를 알아야합니다.
예전에 호스트의 공개 키를 알고 있지 않다면 Trust On First Use 스키마로 이동할 수 있습니다. 도구가 CertPatrol과 같은 방식과 비슷합니다.
고정은 엔터프라이즈 응용 프로그램에 적합합니다. 기업에서 조직은 자체 인증서를 발행하므로 공개 키가 무엇인지 알고 있습니다. 심지어 자체 PKI를 실행할 수도 있습니다. 조직은 정보 을 사전에 알고 있기 때문에에 필요한 인증서를 묶어서 앱을 구축합니다. 첫 번째 사용을 신뢰할 필요가 없습니다.
중요한 메모 중 하나 ... RFC 7469, Public Key Pinning Extension for HTTP은 심각한 결함이 있습니다. 가장 피해를주는 것은 (1) 공격자가 알려진 좋은 핀셋을 깰 수있는 오버라이드, (2) 핀셋이 손상되면 오류보고가 비활성화됩니다. RFC는 보안 고려 사항을 나열하는 데 좋은 업무를 수행하지 않았습니다.
Peter Gutmann의 Engineering Security도 참조하십시오. 그는이 모든 것을 다룹니다.
'요청'도 'HTTPLIB'패키지를 시도하는 경우 ...
불행히도, 나는 당신이 어떤 일을해야하는지 잘 모릅니다. 사용할 수있는 라이브러리가 없을 수 있습니다.
출처
2017-01-29 18:07:23
jww
내가 거의 지식이 없기 때문에 내가 언급 한 많은 것들이 있기 때문에 대답을 답으로 받아 들일 수 없다. 그래서 나는 당신의 제안을 시험해보기까지 약간의 시간이 걸릴 것이다. 그러나 나는 확실히 모든 중요한 포인터에 대해 당신의 대답을지지합니다. 고마워요 :) – akash12300
@ akash12300 - 그것에 대해 걱정하지 마십시오. 당신은 심층적 인 보안 공학 문제에 직면 해 있습니다. Gutmann의 책을 읽으십시오. 그리고 응답을 너무 빨리 받아들이지 마십시오. 사람들이 응답 할 시간을 허용하십시오. 더 나은 것을 발견 할 수 있습니다. – jww