Title: OpenSSL
1OpenSSL
- Secure Sockets Layer a protocol developed by
Netscape for transmitting private documents via
the Internet. - SSL uses a cryptographic system that uses two
keys to encrypt data - a public key known to
everyone and a private or secret key known only
to the recipient of the message. - Web browsers should support SSL as many web
sites use the protocol to obtain confidential
user information, such as credit card numbers.By
convention, URLs that require an SSL connection
start with https// instead of http//.
- TCP_Listen function for OpenSSL server
- int tcp_listen()
- int sock
- struct sockaddr_in sin
- int val1
-
- if((socksocket(AF_INET,SOCK_STREAM,0))lt0)
- err_exit("Couldn't make socket")
-
- memset(sin,0,sizeof(sin))
- sin.sin_addr.s_addrINADDR_ANY
- sin.sin_familyAF_INET
- sin.sin_porthtons(PORT)
- setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,
- val,sizeof(val))
-
- if(bind(sock,(struct sockaddr )sin,
http//www.webopedia.com/TERM/S/SSL.html
2Apache Web Server
- Apache HTTP Server is a free software/open source
web server for Unix-like systems, Microsoft
Windows, Novell NetWare, and other operating
systems. - Apache is notable for playing a key role in the
initial growth of the World Wide Web, and
continues to be the most popular web server in
use, serving as the de facto reference platform
against which other web servers are designed and
judged. - Apache features configurable error messages,
DBMS-based authentication databases, and content
negotiation. - It is also supported by several graphical user
interfaces (GUIs) which permit easier, more
intuitive configuration of the server.
http//en.wikipedia.org/wiki/Apache_HTTP_Server
3Apache Web Server
- Header file for Apache interface to OpenSSL
- ifndef __SSL_EXPR_H__
- define __SSL_EXPR_H__
- ifndef FALSE
- define FALSE 0
- endif
- ifndef TRUE
- define TRUE !FALSE
- endif
- ifndef YY_NULL
- define YY_NULL 0
- endif
typedef enum op_NOP, op_ListElement,
op_OidListElement, op_True, op_False, op_Not,
op_Or, op_And, op_Comp, op_EQ, op_NE, op_LT,
op_LE, op_GT, op_GE, op_IN, op_REG, op_NRE,
op_Digit, op_String, op_Regex, op_Var, op_Func
ssl_expr_node_op typedef struct
ssl_expr_node_op node_op void node_arg1
void node_arg2 apr_pool_t p
ssl_expr_node typedef ssl_expr_node
ssl_expr typedef struct apr_pool_t pool
char inputbuf int inputlen
char inputptr ssl_expr expr
ssl_expr_info_type extern ssl_expr_info_type
ssl_expr_info extern char ssl_expr_error defi
ne yylval ssl_expr_yylval define yyerror
ssl_expr_yyerror define yyinput
ssl_expr_yyinput extern int ssl_expr_yyparse(void
) extern int ssl_expr_yyerror(char ) extern
int ssl_expr_yylex(void) extern ssl_expr
ssl_expr_comp(apr_pool_t , char ) extern int
ssl_expr_exec(request_rec , ssl_expr
) extern char ssl_expr_get_error(void) ext
ern ssl_expr ssl_expr_make(ssl_expr_node_op,
void , void ) extern BOOL
ssl_expr_eval(request_rec , ssl_expr ) endi