Windows Native SSL: Secure Communication

• |  | Windows Native SSL: Secure Communication

On this page:

Windows Native SSL: Secure Communication
win32-ssl-connect
win32-ssl-abandon-port
ports->win32-ssl-ports
win32-ssl-port?
win32-ssl-available?

8.17
top contents ← prev up next →

## Windows Native SSL: Secure Communication🔗ℹ

(require net/win32-ssl) | package: base

The net/win32-ssl module offers a fraction of the functionality of openssl and works only on Windows, but it has the advantage that it works before OpenSSL libraries are installed.

> > procedure
> > (win32-ssl-connect |  | hostname |
> > |  | port-no |
> > | [ | client-protocol]) |
> | → |  |
> (and/c input-port? win32-ssl-port?)
> (and/c output-port? win32-ssl-port?)
> hostname : string?
> port-no : (integer-in 1 65535)
> | client-protocol |  | : |  |
> (or/c 'secure 'auto
> 'sslv2-or-v3 'sslv2 'sslv3 'tls 'tls11 'tls12)
> |  |  | = |  | 'auto

Like ssl-connect, but without support for client contexts.

> procedure (win32-ssl-abandon-port in) → void?
> in : (and/c win32-ssl-port? output-port?)

Analogous to ssl-abandon-port.

> > procedure
> > (ports->win32-ssl-ports |  | input-port |
> > |  | output-port |
> > |  | #:encrypt protocol |
> > | [ | #:hostname hostname]) |
> | → |  |
> (and/c input-port? win32-ssl-port?)
> (and/c output-port? win32-ssl-port?)
> input-port : input-port?
> output-port : output-port?
> | protocol |  | : |  |
> (or/c 'secure 'auto
> 'sslv2-or-v3 'sslv2 'sslv3 'tls 'tls11 'tls12)
> hostname : (or/c #f string?) = #f

Analogous to ports->ssl-ports.

If hostname verification is enabled via 'secure, the peer server’s certificate is checked against hostname.

Changed in version 6.3.0.12 of package base: Added the #:hostname argument.

> procedure (win32-ssl-port? v) → boolean?
> v : any/c

Returns #t of v is an SSL port produced by win32-ssl-connect or ports->win32-ssl-ports.

> value win32-ssl-available? : boolean?

A boolean value that reports whether the Windows native SSL library was successfully loaded. Calling win32-ssl-connect, etc. when this value is #f will raise an exception.
top contents ← prev up next →