[python] M2Crypto를 사용하여 SSL/TLS 서버에서 클라이언트 인증서 필수 여부를 지정하는 방법은 어떻게 되나요?

M2Crypto를 설치하고 import한 후, 서버의 인증서 및 키 파일을 로드합니다. 그런 다음 서버 컨텍스트를 만들어 SSL 옵션을 설정하고 클라이언트 인증을 요구하도록 지정합니다.

아래는 Python 코드 예시입니다.

from M2Crypto import SSL

# 서버의 인증서 및 키 파일 로드
cert_file = 'server.crt'
key_file = 'server.key'
ctx = SSL.Context('tlsv1')
ctx.load_cert(cert_file, key_file)

# 클라이언트 인증을 요구하도록 지정
ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, depth=10)

위 코드에서 set_verify 메서드에 SSL.verify_peerSSL.verify_fail_if_no_peer_cert 옵션을 사용하여 클라이언트 인증을 요구하는 설정을 지정할 수 있습니다.

자세한 내용은 M2Crypto 공식 문서를 참고하시기 바랍니다.