wm withdraw .; wm withdraw .output; #kons_font 15; #lappend auto_path ~/tcl/tls1.4; package re tls #% 1.4 lappend auto_path ~/tcl/tls1.5; package re tls #% 1.50 ## klient # + wykonac . e_tls przed uruchomieniem konsoli! # proc haslo {} {return "qwerty"}; # haslo do klucza pryw serwera set s [tls::socket localhost 10000] set s [tls::socket -password haslo \ -require 1 -cafile cacert.pem \ localhost 10000 ] # + "-require 1" klient żąda sprawdzenia certyfikatu serwera # + "-cafile" certyfikat CA (chodzi m.in. o klucz publiczny CA w tym pliku # dzięki któremu klient sprawdza podpis na certyfikacie serwera) # + 2014; 1.4 nie dziala; 1.5 dziala ok !!! # czyli trzeba uzywac 1.5 i dostarczonych bibl libcrypto libssl !!! tls::handshake $s puts $s "A ku ku !!!"; flush $s close $s tls::status -local $s #% sbits 256 cipher DHE-RSA-AES256-SHA tls::status $s #% sha1_hash 9FA31985DFAF2227EC13D98CC07266D29C5CF548 subject {/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=serwer} issuer {/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=autorytet} notBefore {Mar 6 19:53:53 2014 GMT} notAfter {Mar 6 19:53:53 2015 GMT} serial 1 sbits 256 cipher DHE-RSA-AES256-SHA info comm tls::* #% ::tls::socket ::tls::import ::tls::password ::tls::init ::tls::ciphers ::tls::handshake ::tls::log ::tls::status ::tls::misc ::tls::callback ::tls::version ::tls::_accept ::tls::xhandshake tls::version #% OpenSSL 0.9.7c 30 Sep 2003