Server IP : 85.214.239.14 / Your IP : 3.128.95.217 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/share/doc/libnet-ssleay-perl/examples/ |
Upload File : |
#!/usr/bin/perl # ssl-inetd-serv.pl - SSL echo server run from inetd # # Copyright (c) 1996,1998 Sampo Kellomaki <sampo@iki.fi>. All Rights Reserved. # Date: 27.6.1996, 19.6.1998 # # /etc/inetd.conf: # ssltst stream tcp nowait root /usr/sampo/ssl-inetd-serv.pl ssl-inetd # # /etc/services: # ssltst 1234/tcp # use Net::SSLeay qw(die_now die_if_ssl_error); Net::SSLeay::load_error_strings(); Net::SSLeay::SSLeay_add_ssl_algorithms(); chdir '/usr/sampo' or die "chdir: $!"; $| = 1; # STDOUT Piping hot! open LOG, ">>log" or die "Can't open log file $!"; select LOG; $| = 1; print "ssl-inetd-serv.pl started\n"; print "Creating SSL context...\n"; $ctx = Net::SSLeay::CTX_new or die_now("CTX_new ($ctx) ($!)"); print "Setting private key and certificate...\n"; Net::SSLeay::set_server_cert_and_key($ctx, 'cert.pem', 'key.pem') or die "key"; print "Creating SSL connection (context was '$ctx')...\n"; $ssl = Net::SSLeay::new($ctx) or die_now("new ($ssl) ($!)"); print "Setting fds (ctx $ctx, con $ssl)...\n"; Net::SSLeay::set_rfd($ssl, fileno(STDIN)); Net::SSLeay::set_wfd($ssl, fileno(STDOUT)); print "Entering SSL negotiation phase...\n"; Net::SSLeay::accept($ssl); die_if_ssl_error("accept: $!"); print "Cipher '" . Net::SSLeay::get_cipher($ssl) . "'\n"; # # Connected. Exchange some data. # $got = Net::SSLeay::ssl_read_all($ssl) or die "$$: ssl read failed"; print "Got `$got' (" . length ($got) . " chars)\n"; $got = uc $got; Net::SSLeay::ssl_write_all($ssl, $got) or die "$$: ssl write failed"; print "Tearing down the connection.\n"; Net::SSLeay::free ($ssl); Net::SSLeay::CTX_free ($ctx); close LOG; __END__