Can I use TLS/SSL over Unix pipe with Unix command line?
I want the equivalent of
$ mkfifo /tmp/spipe
$ echo a|openssl s_server -acceptFifo /tmp/spipe &
[1] 25563
$ openssl s_client -connectFifo /tmp/spipe
a
[1] Done echo a|openssl s_server -acceptFifo /tmp/spipe
(Yes, it's not hard to write a short program to do that, but I was hoping it is possible with existing tools)
Let me clarify, I do not want a tcp connection any time in the process. I want to use the TLS/SSL protocol over a UNIX pipe. The client will open a unix pipe, and will connect to the server "listening" on another pipe. I do NOT want to move data from TLS tcp connection to a pipe.
Best Answer
You can use
socat
.socat
has lots of features, so you could maybe avoid the pipes at all.EDIT: added the
-u
(unidirectional) option to server's socat - without it, the pipe works as an echo service.