net/win32-ssl: a native Windows SSL layer
This implementation of SSL ports is less complete than `openssl', but
it's complete enough to drive HTTPS, and so it can be used to download
a package that provides the DLLs needed for the `openssl' library.
The `net/url' library uses `net/win32-ssl' on Windows when `openssl'
is not available (due to the absence of the OpenSSL DLLs).
original commit: d9e226824f
This commit is contained in:
parent
b67856a397
commit
2214acbb94
|
@ -1,3 +1,4 @@
|
||||||
#lang info
|
#lang info
|
||||||
|
|
||||||
(define scribblings '(("net.scrbl" (multi-page) (net-library))))
|
(define scribblings '(("net.scrbl" (multi-page) (net-library))
|
||||||
|
("win32-ssl.scrbl" (multi-page) (net-library))))
|
||||||
|
|
54
pkgs/racket-pkgs/racket-doc/net/scribblings/win32-ssl.scrbl
Normal file
54
pkgs/racket-pkgs/racket-doc/net/scribblings/win32-ssl.scrbl
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
#lang scribble/doc
|
||||||
|
@(require "common.rkt"
|
||||||
|
(for-label net/win32-ssl
|
||||||
|
openssl))
|
||||||
|
|
||||||
|
@title[#:tag "win32-ssl"]{Windows Native SSL: Secure Communication}
|
||||||
|
|
||||||
|
@defmodule[net/win32-ssl]{The @racketmodname[net/win32-ssl] module
|
||||||
|
offers a fraction of the functionality of @racketmodname[openssl] and
|
||||||
|
works only on Windows, but it has the advantage that it works before
|
||||||
|
OpenSSL libraries are installed.}
|
||||||
|
|
||||||
|
@defproc[(win32-ssl-connect [hostname string?]
|
||||||
|
[port-no (integer-in 1 65535)]
|
||||||
|
[client-protocol
|
||||||
|
(or/c 'sslv2-or-v3
|
||||||
|
'sslv2
|
||||||
|
'sslv3
|
||||||
|
'tls)
|
||||||
|
'sslv2-or-v3])
|
||||||
|
(values (and/c input-port? win32-ssl-port?)
|
||||||
|
(and/c output-port? win32-ssl-port?))]{
|
||||||
|
|
||||||
|
Like @racket[ssl-connect], but without support for client contexts
|
||||||
|
(which could enable certificate checking, for example).}
|
||||||
|
|
||||||
|
|
||||||
|
@defproc[(win32-ssl-abandon-port [in (and/c win32-ssl-port? output-port?)]) void?]{
|
||||||
|
|
||||||
|
Analogous to @racket[ssl-abandon-port].}
|
||||||
|
|
||||||
|
|
||||||
|
@defproc[(ports->win32-ssl-ports
|
||||||
|
[input-port input-port?]
|
||||||
|
[output-port output-port?]
|
||||||
|
[#:encrypt protocol (or/c 'sslv2-or-v3 'sslv2 'sslv3 'tls) 'sslv2-or-v3])
|
||||||
|
(values (and/c input-port? win32-ssl-port?)
|
||||||
|
(and/c output-port? win32-ssl-port?))]{
|
||||||
|
|
||||||
|
Analogous to @racket[ports->ssl-ports].}
|
||||||
|
|
||||||
|
|
||||||
|
@defproc[(win32-ssl-port? [v any/c]) boolean?]{
|
||||||
|
|
||||||
|
Returns @racket[#t] of @racket[v] is an SSL port produced by
|
||||||
|
@racket[win32-ssl-connect] or
|
||||||
|
@racket[ports->win32-ssl-ports].}
|
||||||
|
|
||||||
|
|
||||||
|
@defthing[win32-ssl-available? boolean?]{
|
||||||
|
|
||||||
|
A boolean value that reports whether the Windows native SSL library was
|
||||||
|
successfully loaded. Calling @racket[win32-ssl-connect], @|etc| when this
|
||||||
|
value is @racket[#f] will raise an exception.}
|
Loading…
Reference in New Issue
Block a user