ussl.wrap_socket results in OSError: [Errno -1] ERR_MEM
-
Hi all,
I'm stuck on a problem which does not occur in python on PC:import ussl, socket s=socket.socket() s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) s.bind(('0.0.0.0',443)) s.listen(16) conn, addr = s.accept()gives the follwowing output with curl:
daniel@trias:~$ curl -v -k https://192.168.4.1 * Expire in 0 ms for 6 (transfer 0x55aafe83ff30) * Trying 192.168.4.1... * TCP_NODELAY set * Expire in 200 ms for 4 (transfer 0x55aafe83ff30) * Connected to 192.168.4.1 (192.168.4.1) port 443 (#0) * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /home/daniel/anaconda3/ssl/cacert.pem CApath: none * TLSv1.3 (OUT), TLS handshake, Client hello (1):That looks good. However, if I continue to wrap the connection into ssl, the handshake is done, but after that the error is given:
sslconn = ussl.wrap_socket(conn, server_side = True, keyfile = '/flash/cert/device.key', certfile = '/flash/cert/device.crt') Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno -1] ERR_MEMcurl continues:
* TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 * ALPN, server did not agree to a protocol * Server certificate: * subject: C=AU; ST=Some-State; O=Internet Widgits Pty Ltd; CN=192.168.4.1 * start date: Oct 10 12:24:08 2019 GMT * expire date: Dec 14 12:24:08 2038 GMT * issuer: C=AU; ST=Some-State; O=Internet Widgits Pty Ltd * SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. > GET / HTTP/1.1 > Host: 192.168.4.1 > User-Agent: curl/7.64.0 > Accept: */*Someone else seems to have no issues with this when he modified microWebSrv accordingly:
microWebSrv - HTTPS and WSS support #55
So it seems to be WiPy related.Here some additional info and input for easy reconstruction:
>>> os.uname() (sysname='WiPy', nodename='WiPy', release='1.20.1.r1', version='3138a13d on 2019-10-08', machine='WiPy with ESP32')device.crt:
-----BEGIN CERTIFICATE----- MIIDJzCCAg8CFC+R6gilkabtpc5uGukrYlG/J0hLMA0GCSqGSIb3DQEBCwUAMEUx CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTkxMDEwMTIyNDA4WhcNMzgxMjE0MTIy NDA4WjBbMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE CgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRQwEgYDVQQDDAsxOTIuMTY4LjQu MTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMP/YDQnq1Jqrku782rY rV+UVun1STrjlt7bWb3cZn1ehzLcnjcP9VpIlVlNu6uTZhiJTKBDNXHrHzWpuYYX XWrel3/96sXZsFCVZqCegIG/4ZYunCzvJNDG3WSP5NjHHhI0z6600JCPeu8X3ha4 6OMzz13em+BYQ6AMstN7zYhovQmePZ6TZ7ZxLEeCsOwf5z2Enu02OceWjsDl+Db0 1lkSx6ExhhuG9YOHtP8l7GqpX/TVCoRNBv0lgUX+TuKfmbMbfsNvB2xW5e8KvJUp xPgBIDzz9V4ygrM1AeSeiqDeuNB0nnLceYUNGu5CLcRdv0He6PMIWc7gHEnRydI+ vBECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAHtoAWF9wsQ/S3qsbu6dRYDY4Ta3l ONlwigyDz2KCluLJ9mO6/ViIVu6PHWSSH63P6iDuENDw5rk5BG5SrQwfOlwH7agd cTOGJLMWtx2sUUe1YFMawSi8wlndp1tDZ3A7xISri5DACj3LQYC7mKUoiMNEyg0r FLxIrvKHDCXQOcvBgl99MfKQQgdbEmnlM8qmKRK9w4jEueySW4h0Iy4S0r4r8XbI K0v1WpezqnACw2KX3frPtiGyepSSQhIxk6FVewCw9jiAQwu0E6EBt9hmxJSrA8s3 wIWim08N218isZPbfRUy0lemhxybg+TQPx1maJ3FIh/aPRfoCSwLKIwwQw== -----END CERTIFICATE-----device.key:
-----BEGIN RSA PRIVATE KEY----- MIIEpgIBAAKCAQEAw/9gNCerUmquS7vzatitX5RW6fVJOuOW3ttZvdxmfV6HMtye Nw/1WkiVWU27q5NmGIlMoEM1cesfNam5hhddat6Xf/3qxdmwUJVmoJ6Agb/hli6c LO8k0MbdZI/k2MceEjTPrrTQkI967xfeFrjo4zPPXd6b4FhDoAyy03vNiGi9CZ49 npNntnEsR4Kw7B/nPYSe7TY5x5aOwOX4NvTWWRLHoTGGG4b1g4e0/yXsaqlf9NUK hE0G/SWBRf5O4p+Zsxt+w28HbFbl7wq8lSnE+AEgPPP1XjKCszUB5J6KoN640HSe ctx5hQ0a7kItxF2/Qd7o8whZzuAcSdHJ0j68EQIDAQABAoIBAQCuCYwRg9AbJOOU GFbzX2fD4WKz6LyX8BO93CT59EWFuXRv83sCBcel3aHQZLfqiL41t2U1QbipaVCT RBybNxAan4EDhCL+gGiRhbhVk6kkjY/w3X6MX+XfBVb9vtBEtbq8C+0Gg0RXuTA+ MoFgx9z0MsNF5S+grH+QFPaN1/cP0fL+dMe944pzUT+51oJy8R+47+vA0h1Hr7kW JSrCcqLBQ3X5sV+RGTX4pgKkMZWcqopXuigD7nFOAynq6rJWRuwzW6xEHykPOVch 58mgAKYTKH7FPVErQbidWL/0DLEWbAh1GJl+iXP5f9buCPbGVkKf7A/IElYRSnDg HX7hWiipAoGBAOwXdEcXWMg7OHKXoKdyNlttavPZV77XPwDaQIDLL8xybDab+32A reSmyY5GdQ672wJY8qqmJghIn3DaQO+732MA1p4C1iMucLoF258n/p3MH6ZtF9xp vqtUS5TGVfuYG2uwdG7tGedGgq4hmBCiCMw1xdrBtc6Hh6SQCQMcHwFTAoGBANSG Z7Lk07NchHAM7CUUFZP38JzvisProW3VDsbF9BX/tzUH0XTR9MZ9+BcalASETTIK DXgP9OkPSI54wiA/wios47i2e1wY77CHYTI1Z5ZUA/TEcrqcFrRd8mLG5bTYBCPL iuURRu2ybA1HRq6ooZO+q8rcGlvAsAI0zqqmfmyLAoGBALMqjXSR9C9oOctE5IeO dk/l9n991kgew1JbTw4upGSMBTFgKHey2sSmClmtgJIg3/ClHeuBUWWB73XOO+9y 7PEOJtEdJ/LlAGk7ntLmoCSSTwaWzb/Yg/kzbHRIG+JmKZENBR9VUg4ghXWuSt98 iB6pRDBiRx2n3rl1EVHJ2oG/AoGBAJayg3+noLHTTZnCoAQevLpCmpw9gzEvuTUP Wb37Cfw7aiaxV4W1hxLkqfGACCs3wSFVXX2gGvLTwog7+rMxYrXTRNpqkwiYKgYL yRD4K26+PlvmnM/T9ImLAF+oV6OndTAImYGagaf014eG3gjlTEVec6SR9CLRfDzk QxNgoc7HAoGBANv9gV8Taq1f9U8I1svI7ITYuB+zLU4A9r/vnHmSP/s0mAYVeu+C S/e1ErBRe5TNmp3ME1J4PmY9cww0KrLWmLFRHQI97jskN+bxTNE4Em/JcQ3EZAZg ZvXBYQ7kPQD3poBlXZ/DXERWnrDTuK7ZXdOOab0JlF/kiwJSi3hzrnMG -----END RSA PRIVATE KEY-----
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login