Changes to TclPKCS11 between r24 and r28

''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.9
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-linux-amd64.so | Linux on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-linux-i386.so | Linux on i386]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-linux-mipsel.so | Linux on MIPS (EL, 32-bit)]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-solaris10-sun4m.so | Solaris 10 on SPARC 32-bit]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-solaris10-sun4u.so | Solaris 10 on SPARC 64-bit]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-solaris10-i386.so | Solaris 10 on i386]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-solaris10-amd64.so | Solaris 10 on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-win32-amd64.dll | Windows on AMD64]
   *** [http://www.rkeene.org/projects/info/resources/tcl/tclpkcs11/tclpkcs11-0.9.9-win32-i586.dll | Windows on i586]
   ** 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]
(blank line)
Public Key Cryptography Standard (PKCS) Number 11 specifies an API for interfacing with cryptographic tokens.  These cryptographic tokens are usually seperate hardware devices that do not provide direct access to the keying materials under normal use -- instead they directly perform the cryptographic operations on the hardware module.  This provides additional security and can be used for off-loading CPU intensive operations to specialized hardware.
(blank line)
Some PKCS#11 providers:
   * [CACKey]
   * [http://directory.fedoraproject.org/wiki/CoolKey | CoolKey]
   * [http://www.opensc-project.org/opensc | OpenSC]
(blank line)
'''[https://chiselapp.com/user/rkeene/repository/tclpkcs11/ | Homepage]'''
(blank line)
----

'''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 r24
     Only in r28
     -->      Modified slightly between r24 and r28