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"
Only in r20
Only in r21 --> Modified slightly between r20 and r21