Add bcrypt_test_db, secure_connection
This commit is contained in:
39
secure_connection/secure_client.py
Executable file
39
secure_connection/secure_client.py
Executable file
@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
A module to establish a non-verifying SSL connection with a server and to
|
||||
send/receive messages through a secure socket.
|
||||
|
||||
Usage:
|
||||
Run the script to start a communication session with the server at
|
||||
"127.0.0.1" on port 9001. Input messages in the console to send to
|
||||
the server and receive replies. Type a message with the content
|
||||
"quit" to close the connection.
|
||||
|
||||
Functions:
|
||||
main(server_address: str, server_port: int): Initiates a secure socket
|
||||
communication session with the specified server.
|
||||
"""
|
||||
from socket import create_connection, socket
|
||||
from ssl import SSLContext, PROTOCOL_TLS_CLIENT, CERT_NONE
|
||||
|
||||
|
||||
def main(server_address: str, server_port: int):
|
||||
context = SSLContext(PROTOCOL_TLS_CLIENT)
|
||||
context.check_hostname = False
|
||||
context.verify_mode = CERT_NONE
|
||||
unsecure_socket: socket = create_connection(
|
||||
(server_address, server_port)
|
||||
)
|
||||
secure_socket = context.wrap_socket(unsecure_socket) #, server_hostname="localhost")
|
||||
|
||||
while True:
|
||||
message = input()
|
||||
secure_socket.send(message.encode("utf-8"))
|
||||
reply = secure_socket.recv(len(message))
|
||||
if reply == b"quit":
|
||||
break
|
||||
print(reply.decode("utf-8"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main("127.0.0.1", 9001)
|
Reference in New Issue
Block a user