portal Michała Hanćkowiaka
Begin main content
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

uwaga: portal używa ciasteczek tylko do obsługi tzw. sesji...