💾 Archived View for bbs.geminispace.org › s › Gemini › 22299 captured on 2024-12-17 at 15:09:07. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Have anybody experience with Glib sockets? Seems that API there does not provide any method to update user certificate (session ticket cached) in runtime. So I must restart GTK client to apply new certificate e.g. on path change.

Found only one solution - force rehandshake request, that reset previous session cache and prevent resumption, but it's not useful with TLS 1.3

This subject bit harder that expected, also, usually socket clients assign certificate to some net address, not it path, but that's another story. Just interesting, have anybody success with Glib / Gio sockets in work using Gemini TLS specification? It looks like I should write additional wrapper to make it working well.

Posted in: s/Gemini

👻 ps

Nov 28 · 3 weeks ago

2 Comments ↓

🛰️ lufte · Nov 29 at 13:35:

I don't, but my experience with rustls is that you need to build a different context or client for every different certificate that you want to use. Maybe it's the same in your case.

👻 ps [OP] · Dec 01 at 09:20:

I would glad to use any other library, just trying to make GTK application using Glib ecosystem.

So finally found solution by reading glib-networking source code, it's session-resumption-enabled property. If somebody want entire implementation example, here is my client library, writing for Yoda browser mostly (in development)

— https://github.com/YGGverse/ggemini

Maybe later will implement session cache to skip handshake on every page load - at least now I understand why does Geminispace pages loading take a while.