[python] M2Crypto를 사용하여 SSL/TLS 연결에서 클라이언트 인증서 필수 여부를 지정하는 방법은 어떻게 되나요?
아래는 클라이언트 인증서를 필수로 요구하는 방법을 보여주는 예제 코드입니다.
from M2Crypto import SSL
# SSL 컨텍스트 생성
ctx = SSL.Context('sslv3')
# 클라이언트 인증서 필수 요구 설정
ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, depth=1)
위 코드에서 set_verify()
메서드는 SSL.verify_peer
플래그와 SSL.verify_fail_if_no_peer_cert
플래그를 사용하여 클라이언트 인증서를 필수로 요구하도록 설정합니다.
반대로, 클라이언트 인증서를 선택적으로 사용하려면 SSL.verify_peer
플래그만 사용하여 set_verify()
메서드를 호출하면 됩니다.
관련 자료:
- M2Crypto 문서: https://pypi.org/project/M2Crypto/
- M2Crypto GitHub 저장소: https://github.com/m2crypto/m2crypto
위의 예제에서 설명한 내용들은 M2Crypto의 기능 및 사용법을 설명한 것으로, 실제 상황에 따라 코드를 조금 수정해야 할 수 있습니다.