[Vortex] How to use TLS with client cert?
Jens Alfke
jens at apple.com
Fri Dec 21 16:52:50 CET 2007
I want to use TLS to authenticate BEEP sessions. But I want the
authentication to be bi-directional: each peer will use a [self-
signed] cert, and each peer will check the other's cert. I know TLS
supports this, though it's rarely used in a client-server world; but
I'm having trouble getting it to work in Vortex.
Out of the box, Vortex only seems to have the "server" (listener) use
a cert. I need to make the "client" send one too, that the listener
can check.
What I've done so far is to have the initiator call
vortex_tls_set_default_ctx_creation, and the TLS context creation
callback consists largely of a snippet copied out of Vortex's listener
code that creates the context and adds the cert and private-key files
to it. Then after connecting, each side calls
vortex_tls_get_peer_ssl_digest to identify its peer.
The connection gets made OK, but I'm not sure that the "client"'s key
is being used, because on the listener side the SSL digest comes back
NULL. Any ideas?
[I admit I'm a TLS and OpenSSL newbie. I've got an O'Reilly book on
order, but it's not here yet.]
Thanks!
--Jens
More information about the Vortex
mailing list