go.stargrave.org/ucspi -- UCSPI-related utilities

UCSPI (UNIX Client-Server Program Interface, http://cr.yp.to/ucspi-tcp.html)
provides convenient and easy interface for building network client server
programs.

That modules provides TLS-related utilities, that could be more suitable
that OpenSSL-dependant ones, or also much more complicated stunnel.

* cmd/tlss: TLS server, that is intended to be run under another UCSPI
  server, like that:

    tcpserver ::0 443 tlss -cert cert.pem -key prv.pem program arg0 arg1 ...

  Optionally it can require client's certificate verification, by
  providing the PEM file with acceptable CAs. In that case, TLSREMOTEDN
  environment variable is set, with the string representation of client's
  certificate subject. Also PROTO=TLS is set.

* cmd/tlsc: TLS client, that is intended to be run under another UCSPI
  client, like that:

    tcpclient example.com 443 tlsc -name example.com program arg0 arg1 ...

  Optionally it can authenticate to server using the certificate keypair
  through -cert/-key options. -ca option allows overriding of the system
  provided CAs. Also you can authenticate server against SHA256 hash of its
  SPKI with -fpr option. PROTO=TLS and TLSREMOTEDN are always set. You can
  disable authentication completely with -name "". -show option prints
  connection state after handshake and outputs certificates information.

* cmd/proxy: proxy between UCSPI server and UCSPI client

go.stargrave.org/ucspi is free software: see the file COPYING for
copying conditions.
