Changes to TclPKCS11 between r20 and r21

''RSA's Public Key Cryptographic Standard #11 for Tcl''

'''Downloads'''
   * Source
   ** [http://www.rkeene.org/devel/tclpkcs11-0.9.9.tar.gz | TclPKCS11 v0.9.9]
   ** [http://www.rkeene.org/devel/tclpkcs11-0.9.6.tar.gz | TclPKCS11 v0.9.6]
   * Binaries
   ** Version 0.9.6
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-freebsd8-amd64.so | FreeBSD (8.x) on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-haiku-i586.so | Haiku on i586]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-hpux-parisc11.sl | HP-UX v11.11 on PA-RISC 1.1 (32 bit)]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-hpux-parisc20.sl | HP-UX v11.11 on PA-RISC 2.0 (64-bit)]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-linux-amd64.so | Linux on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-linux-i386.so | Linux on i386]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-linux-mipsel.so | Linux on MIPS (EL, 32-bit)]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-macosx-universal.dylib | Mac OS X Universal]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-macosx-amd64.dylib | Mac OS X on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-macosx-i386.dylib | Mac OS X on i386]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-macosx-ppc32.dylib | Mac OS X on PowerPC 32-bit]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-macosx-ppc64.dylib | Mac OS X on PowerPC 64-bit]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-netbsd5-amd64.so | NetBSD (5.x) on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-netbsd5-i386.so | NetBSD (5.x) on i386]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-solaris10-sun4m.so | Solaris 10 on SPARC 32-bit]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-solaris10-sun4u.so | Solaris 10 on SPARC 64-bit]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-solaris10-i386.so | Solaris 10 on i386]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-solaris10-amd64.so | Solaris 10 on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-win32-amd64.dll | Windows on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.6-win32-i586.dll | Windows on i586]

----

'''Information'''

  ::pki::pkcs11::loadmodule <filename>                       -> handle
  ::pki::pkcs11::unloadmodule <handle>                       -> true/false
  ::pki::pkcs11::listslots  <handle>                         -> list: slotId label flags
  ::pki::pkcs11::listcerts  <handle> <slotId>                -> list: keylist
  ::pki::pkcs11::encrypt <mode> <input> <keylist>            -> data
  ::pki::pkcs11::decrypt <mode> <input> <keylist>            -> data
  ::pki::pkcs11::login <handle> <slotId> <password>          -> true/false
  ::pki::pkcs11::logout <handle> <slotId>                    -> true/false

----
'''Simple Example'''

package require pki
package require pki::pkcs11

set handle [pki::pkcs11::loadmodule /usr/lib/pkcs11/libcackey.so]

pki::pkcs11::login $handle $slotId 123456

set slots [pki::pkcs11::listslots $handle]
set slotId [lindex $slots 0 0]

set certs [pki::pkcs11::listcerts $handle $slotId]
set cert [lindex $certs 0]

set plain "TestMsg"

set cipher [pki::encrypt -binary -pub -- $plain $cert]
set check  [pki::decrypt -binary -priv -- $cipher $cert]

puts "Plain: $plain"
puts "Check: $check"

Legend

     Only in r20
     Only in r21
     -->      Modified slightly between r20 and r21