SECURITY-SSL(2)                                   SECURITY-SSL(2)

     NAME
          ssl: connect, secret - interface to the Secure Sockets Layer

     SYNOPSIS
          include "sys.m";
          include "security.m";
          ssl := load SSL SSL->PATH;

          connect: fn(fd: ref Sys->FD): (string, ref Sys->Connection);
          secret:  fn(c: ref Sys->Connection, secretin,
                          secretout: array of byte): string;

     DESCRIPTION
          SSL provides an interface to the secure sockets layer device
          ssl(3).

          Connect allocates a new ssl(3) connection directory.  It
          pushes file descriptor fd into the data file of that connec-
          tion, and if successful, returns a reference to a Connection
          adt describing the connection.  The Connection adt has its
          members set as follows: dir names the resulting connection
          directory; cfd is open on the connection's control file; and
          dfd is open on the connection's data file, which is read and
          written to exchange data on the original fd using SSL.

          Secret writes secretin and secretout to c.dir/secretin and
          c.dir/secretout where n is obtained from the Connection adt
          c. The string returned describes errors encountered, if any;
          otherwise it is nil.

     SOURCE
          /appl/lib/ssl.b

     SEE ALSO
          security-auth(2), ssl(3)

     DIAGNOSTICS
          Connect returns a tuple containing a string and a Connection
          reference.  On success the string is nil, and the connection
          reference is not nil; on error, the string contains a diag-
          nostic, and the connection reference is nil.

     Page 1                       Plan 9             (printed 3/29/24)