[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 도메인 검증을 수행할 수 있습니다.