[python] M2Crypto를 사용하여 SSL/TLS 도메인 검증을 수행하는 방법은 어떻게 되나요?

먼저, 필요한 라이브러리를 설치하세요.

# OpenSSL 및 M2Crypto 설치
$ sudo apt-get install openssl libssl-dev swig
$ pip install M2Crypto

다음으로, SSL/TLS 도메인 검증을 수행하는 Python 코드를 작성하세요.

from M2Crypto import SSL, X509

def verify_cb(conn, cert, errnum, depth, ok):
    # 도메인 검증 로직 수행
    hostname = 'example.com'  # 검증할 도메인
    cert_nickname = cert.get_subject().as_text()
    return cert_nickname.endswith(hostname.encode())

# SSL 컨텍스트 생성
ctx = SSL.Context()
ctx.set_verify(SSL.verify_peer, 9, verify_cb)  # 인증 수준 및 콜백 설정

# SSL 연결 생성
conn = SSL.Connection(ctx)
conn.connect(('example.com', 443))  # 서버 및 포트 지정
conn.close()

위 코드에서 verify_cb 함수는 SSL 인증서의 도메인 검증을 수행하며, 해당 함수 내에서 SSL/TLS 연결을 요청할 도메인을 지정해야 합니다. 이후 SSL 컨텍스트에서 set_verify 함수를 사용하여 인증 수준과 검증 콜백을 설정합니다. 마지막으로 SSL 연결을 생성하고 도메인 검증이 수행됩니다.

이를 통해, M2Crypto를 사용하여 SSL/TLS 도메인 검증을 수행할 수 있습니다.