[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의 기능 및 사용법을 설명한 것으로, 실제 상황에 따라 코드를 조금 수정해야 할 수 있습니다.