Im very new to this,
I need to do the following command as a python code using the library pyopenssl.
openssl s_server -dtls -cert certfile -key keyfile -cert_chain chainfile -accept ipaddress:port
Ive managed to do client using pyopenssl that works with that command in cmd – successfull handshake and i can write messages from 1 to another.
but I cant do the server properly I always get errors – ‘no shared cipher’, even there is shared ciphers. (i checked the ciphers sent in wireshark and printed all the cipher in the library)
this is my client code that works perfectly:
import socket
from OpenSSL import SSL
# Initialize the OpenSSL context
context = SSL.Context(SSL.DTLS_CLIENT_METHOD)
context.use_certificate_file("client.crt")
context.use_privatekey_file("client.key")
# Create a UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('127.0.0.1',11111))
# Set up the client-side SSL socket
ssl_sock = SSL.Connection(context, sock)
# Perform the handshake
ssl_sock.connect((SERVER_ADDR, SERVER_PORT))
# Send data to the server
message = "Hello, DTLS server!"
ssl_sock.send(message.encode())
# Receive data from the server
data = ssl_sock.recv(1024)
print(f"Received from server: {data.decode()}")
I tried different cipher suites and checked every time but it fails,
I just need help with creating the DTLS server.
I understand that server suppose the have a lot sort of data and options but I don’t know how to configured it correctly