SOAP 검사를 Python에서 사용할 때 WrongHost 예외가 생성되지 않도록 SSL 검사를 해제하는 방법이 있습니까?Python의 M2Crypto에서 SSL 검사를 해제하십시오.
1
A
답변
5
당신은 그렇게 M2Crypto의 모든 피어 인증서 검사를 해제 할 수 있습니다
from M2Crypto import SSL, httpslib
context = SSL.Context("sslv3")
# Disable certificate checking
context.set_verify(0, depth = 0)
connection = httpslib.HTTPSConnection("somehostname", 443, ssl_context=context)
# Hack (!!!) for disabling host name check <CN> == <expected host name>.
# Will affect any future SSL connections made by M2Crypto!
SSL.Connection.postConnectionCheck = None
connection.connect() # <-- this would normally raise SSL verification errors
connection.request("GET", "/")
...
난 당신이 알고 희망 M2Crypto로 만든 SSL 연결이 것 본질적으로 해제 보안을 제공합니다. 따라서 한 서버와 만 통신하고 중간자 위험이 암호화되지 않은 HTTP를 사용하는 것보다 더 적합하다고 생각하는 경우를 제외하고는 권장할만한 것이 아닙니다.
지금까지 M2Crypto 솔루션,하지만 귀하의 질문에 (제목 반대) (아직 사용하지 않은) SOAPpy에 대해 묻는 SOAPpy config 대신 socket
모듈을 사용하는 것 때문에,이 솔루션은 다를 수 있습니다로 M2Crypto.SSL
(132 행 참조) socket.ssl
모듈이 호스트 이름을 확인하지 못하게하는 방법을 모르겠습니다.
sslsock = M2Crypto.SSL.Connection(sslcontext)
# Disable checking of server certificates
sslsock.set_post_connection_check_callback(None)
을 : AndiDog의 대답에 확장
0
, 당신이 인스턴스에 의해 인스턴스 기준 및 버전 0.21.1 (적어도) M2Crypto의에 postConnectionCheck을 설정할 수 있습니다, 그렇게 할 수있는 Connect.set_post_connection_check_callback()
방법이있다 서버에 연결된 클라이언트와 허용 된 클라이언트를 모두 검사 할 수 없도록 설정합니다 (기본적으로 비활성화 됨).
파라미터 아니라면 없음, 인증서 주소를 취하는 함수, 즉 : 참고로
check(self.get_peer_cert(), self.addr[0])
상기 M2Crypto source를 참조한다.
관련 문제
- 1. Sybase : 프로그래밍 방식으로 외래 키 검사를 해제하십시오.
- 2. M2Crypto에서 CSR 확장 스택에 액세스
- 3. SoapHttpClientProtocol SSL 인증서 유효성 검사를 사용하지 않음
- 4. 스프링 파일의 XSD 검증을 해제하십시오.
- 5. Mercurial/TortoiseHg에서 SSL 인증서 검사를 완전히 비활성화하는 방법은 무엇입니까?
- 6. sqlcmd 텍스트를 해제하십시오.
- 7. 내 창에서 포커스를 해제하십시오.
- 8. 창이 닫히면 NSWindowController를 해제하십시오.
- 9. 삭제 미디어를 해제하십시오 wordpress
- 10. 체크 박스를 선택하거나 해제하십시오
- 11. 매니페스트가있는 응용 프로그램 캐시를 해제하십시오.
- 12. aptana에서 선택한 HTML 오류를 해제하십시오.
- 13. C++ 사용중인 udp 포트를 해제하십시오.
- 14. 동적으로 추가 된 UILabel을 해제하십시오.
- 15. GlassFish v2에서 추적 기능을 해제하십시오.
- 16. SSL 플래시 SSL
- 17. python의 함수
- 18. Python의 색상?
- 19. Python의 setTrace()
- 20. jQuery를 사용하여 모델 유효성 검사 (선택 사항)를 해제하십시오.
- 21. 설치 전에 Installshield를 강제로 설치 해제하십시오.
- 22. VS2010에서 사용하기 위해 리본 WPF 어셈블리를 해제하십시오.
- 23. HtmlUnit 페이지 오류 추적 기능을 해제하십시오.
- 24. Git에서 삭제 된 파일을 모두 해제하십시오.
- 25. Internet Explorer의 페이지 오류 표시기를 해제하십시오.
- 26. QMainWindow/QDockWidget 구분자의 불투명 크기 조절을 해제하십시오.
- 27. 디버깅을 중지 할 때 리소스를 해제하십시오.
- 28. 릴리스 메시지에 도달하지 못하면 NSFileManager를 해제하십시오.
- 29. Xcode 4의 성가신 픽스 - 업 기능을 해제하십시오
- 30. 원형 링크 된 목록에서 malloc'ed 메모리를 해제하십시오.