jdev - 2023-10-25

  1. MattJ

    lovetox, is there a bug report or something you can share?

  2. lovetox


  3. MattJ


  4. Link Mauve

    Hi, I’m adding channel binding support for TLS 1.2, in which RFC are the TLS label and context defined?

  5. Link Mauve

    For TLS 1.3 that’s 9266 and it’s quite clear.

  6. Zash

    I'd look for references in the SCRAM and SASL RFCs

  7. jonas’

    Link Mauve, TLS unique: https://datatracker.ietf.org/doc/html/rfc5929

  8. jonas’

    ah, and the other stuff, too.

  9. jonas’

    Do I want to know what tls-unique-for-telnet is?

  10. Zash

    > For more discussions of channel bindings, and the syntax of channel > binding data for various security protocols, see [RFC5056].

  11. Zash

    ah, and > Clients SHOULD implement the "tls-unique" [RFC5929] channel binding type

  12. Zash

    jonas’, do you want your eyeballs happy?

  13. Link Mauve

    Is the unique prefix the label?

  14. Link Mauve

    Why is context not specified?

  15. Zash

    (I quoted RFC5802 fwiw)

  16. Link Mauve

    When I try that I receive an Err(Auth(Fail(NotAuthorized))) back.

  17. Zash

    (I quoted RFC5802 ftr)

  18. Zash

    Link Mauve, hm?

  19. Link Mauve

    I’m trying with tls12.badxmpp.eu.

  20. Link Mauve

    Ah, with no context instead of an empty string context it seems to work!

  21. Link Mauve

    Hmm no, I always get NotAuthorized…

  22. Zash

    Well, you don't have an account there, do you?

  23. Zash

    Have I even made accounts there?

  24. Link Mauve

    But it always works, no matter the label I put, does that mean the channel binding is ignored in that case?

  25. Zash

    What do you mean by 'label' here?

  26. Zash

    And what does 'work' mean?

  27. Link Mauve

    tls_connection.export_keying_material(data, b"foo", Some(b"bar"))?

  28. Link Mauve

    Label is "foo", context is "bar".

  29. Zash

    Is that tls-unique?

  30. Link Mauve

    Using the terminology here: https://www.rfc-editor.org/rfc/rfc9266.html

  31. Link Mauve

    I am sending p=tls-unique,, yes.

  32. Zash

    I thought that was the Finsihed message, not TLS exporter anything

  33. MattJ

    Link Mauve, I can provide a server for testing if you want

  34. Zash

    Could set up well-known user/passwords on badxmpp.eu but disable resource binding, disconnect on sasl-success or something

  35. Link Mauve

    I could also disable TLS 1.3 in my library I guess.

  36. Zash

    TLS 1.3 with tls12.badxmpp.eu should not work

  37. Link Mauve

    Zash, could be nice indeed!

  38. Link Mauve

    Zash, but my library should fall back to TLS 1.2 if TLS 1.3 isn’t supported.

  39. Zash

    Link Mauve, badxmpp.eu runs the prosody stable version, there's no tls-exporter, I don't think that RFC and API is the thing

  40. Zash


  41. Zash

    https://github.com/brunoos/luasec/blob/master/src/ssl.c#L706-L758 is what's used for tls-unique, while https://github.com/brunoos/luasec/blob/master/src/ssl.c#L760-L793 is what tls-exporter uses, completely different API