sslpsk icon indicating copy to clipboard operation
sslpsk copied to clipboard

Can this be used for DTLS-PSK?

Open mariusmotea opened this issue 8 years ago • 3 comments

Hi,

i want to know if is possible to use you library for Philips Hue Entertainment that has the following requirements:

UDP port 2100 is used for DTLS handshaking and streaming. Only DTLS mode version 1.2 with Pre-Shared Key (PSK) Key exchange method with TLS_PSK_WITH_AES_128_GCM_SHA256 set as Cipher Suite is supported.

Thanks, Marius.

mariusmotea avatar Feb 06 '18 21:02 mariusmotea

It doesn't support DTLS currently. I haven't looked at PyDTLS, so I'm not sure how easy it would be to add support for PyDTLS as well.

drbild avatar Feb 06 '18 23:02 drbild

Just wanted to say, I'm still trying to pursue this course of action. Unfortunately, I get the following error when I try to use sslpsk in conjunction with pyDTLS:

Process finished with exit code -1073741819 (0xC0000005)

def do_handshake(self):
    print("Handshaking with ", self.bridge_ip)
    ssl_sock = False
    psk = binascii.unhexlify(self.bridge_key)
    print("PSK", psk)
    try:
        do_patch()  # dtls library doing its thing
        print("Patched")
        host = self.bridge_ip
        port = 2100
        print("Wrapping socket")
        tcp_socket = socket(AF_INET, SOCK_DGRAM)
        tcp_socket.connect((host, port))
        ssl_sock = sslpsk.wrap_socket(tcp_socket,
                                      ssl_version=258,
                                      ciphers='PSK-AES128-GCM-SHA256',
                                      psk=psk, hint=self.user)
        print("Socket wrapped")

        msg = "ping"
        ssl_sock.sendall(msg.encode())
        msg = ssl_sock.recv(4).decode()
        print('Client received: %s' % msg)
    except Exception as e:
        print("Socket exception: ", e)
    return ssl_sock

I feel like there's something simple here I need to do to fix this, but can't figure out what...

Similar discussion here:

https://www.reddit.com/r/learnpython/comments/7s03fa/question_about_sockets_dtls_handshaking/

d8ahazard avatar Nov 02 '19 18:11 d8ahazard

Marking this as won't fix, since I have no plans to figure out DTLS support. I'm happy to take PR though, if someone else wants to take this on.

drbild avatar Dec 03 '19 19:12 drbild