Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    SNI on TLS connections?

    Scheduled Pinned Locked Moved LoPy
    tlssni
    2 Posts 1 Posters 739 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T Offline
      this.wiederkehr
      last edited by

      I was not able to get SNI (alias Server name identification) working on TLS connections.

      This is required if you serve multiple domains with different certificates from one server with a single ipv4 address (the server needs to know which certificate to publish to the client prior to have the tls connection established).

      Actually from the source I see, that there is an undocumented key-word in the ussl.wrap_socket function server_hostname.

      https://github.com/pycom/pycom-micropython-sigfox/blob/6e087642be5416cc937e4b73a4827f8988ed46a3/esp32/mods/modussl.c#L226

      and I see, that the hostname is properly set on line
      https://github.com/pycom/pycom-micropython-sigfox/blob/6e087642be5416cc937e4b73a4827f8988ed46a3/esp32/mods/modussl.c#L140

      However still it is not working for me. Anyone else got this working correctly?

      The workaround is to distribute the cert required by non-sni clients as a default one. However this workaround might not work for some conditions.

      1 Reply Last reply Reply Quote 0
      • T Offline
        this.wiederkehr
        last edited by

        Sorry, looks like this was my fault. Looks like it is working as intended but I messed something on the server.
        Got to do some more testing though...

        @jmarcelino (btw, congrats for you position at pycom), Still you might wanne document the parameter server_hostname on the ussl.wrap_socket function.

        A just noticed that cert mismatch does not rise ussl.SSLError but OSError which is therefore wrong in the docs too.

        1 Reply Last reply Reply Quote 1

        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
        • 1 / 1
        • First post
          Last post

        Pycom on Twitter

        Pycom