[python] 파이썬으로 SSL 프로토콜을 사용하는 방법은 무엇인가요?
파이썬에서 SSL을 사용하려면 ssl
모듈을 사용해야 합니다. 먼저, SSL 연결을 설정하기 위해 ssl.SSLContext
객체를 생성해야 합니다. 아래는 간단한 예제 코드입니다.
import ssl
# SSL 컨텍스트 생성
context = ssl.SSLContext()
# SSL 검증 비활성화
context.verify_mode = ssl.CERT_NONE
# 서버 인증서 파일 설정
context.load_cert_chain(certfile='server.crt', keyfile='server.key')
# 클라이언트와 SSL 연결 생성
with context.wrap_socket(socket.socket(), server_side=True) as s:
# 연결 대기
s.bind(('localhost', 8000))
s.listen(5)
# 클라이언트 연결 수락
client_socket, address = s.accept()
# 연결된 클라이언트와 데이터 송수신
data = client_socket.recv(1024)
client_socket.sendall(b'Hello, client')
# SSL 연결 종료
s.close()
위의 코드에서 ssl.SSLContext()
를 호출하여 SSL 컨텍스트를 생성합니다. verify_mode
를 ssl.CERT_NONE
으로 설정하면 SSL 인증서의 유효성을 검증하지 않습니다. load_cert_chain()
함수를 사용하여 서버 인증서와 개인 키 파일을 로드합니다.
wrap_socket()
함수를 사용하여 소켓에 SSL 연결을 생성합니다. server_side=True
로 설정하면 서버 모드로 동작하며, 클라이언트 연결을 대기하고 데이터를 송수신할 수 있습니다.
위의 예제 코드는 간단한 SSL 서버를 생성하는 예시입니다. 실제로는 인증서 발급과 설정, 클라이언트 인증 등 다양한 설정이 필요할 수 있습니다. 자세한 내용은 파이썬 공식 문서를 참조하시기 바랍니다.
참고 자료:
위의 참고 자료를 참고하시면 더 자세한 내용을 확인하실 수 있습니다.