]> gitweb.factorcode.org Git - factor.git/blob - basis/openssl/openssl.factor
openssl: less usings.
[factor.git] / basis / openssl / openssl.factor
1 ! Copyright (C) 2007, 2008, Slava Pestov, Elie CHAFTARI.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: init kernel openssl.libcrypto openssl.libssl sequences ;
4 IN: openssl
5
6 ! This code is based on http://www.rtfm.com/openssl-examples/
7
8 SINGLETON: openssl
9
10 : (ssl-error-string) ( n -- string )
11     ERR_clear_error f ERR_error_string ;
12
13 : ssl-error-string ( -- string )
14     ERR_get_error (ssl-error-string) ;
15
16 : (ssl-error) ( -- * )
17     ssl-error-string throw ;
18
19 : ssl-error ( obj -- )
20     { f 0 } member? [ (ssl-error) ] when ;
21
22 : init-ssl ( -- )
23     SSL_library_init ssl-error
24     SSL_load_error_strings
25     OpenSSL_add_all_digests
26     OpenSSL_add_all_ciphers ;
27
28 [ init-ssl ] "openssl" add-startup-hook