Overview
| Comment: | Updated to bind all references immediately in dlopen Updated to use "--" to end options when calling PKI |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
88fe253dd166f76970f0fcb0c51b08d9 |
| User & Date: | rkeene on 2010-10-10 23:15:18.000 |
| Other Links: | manifest | tags |
Context
|
2010-10-10
| ||
| 23:19 | Tclpkcs11 0.9.1 check-in: d1da9e332d user: rkeene tags: release-0.9.1, trunk | |
| 23:15 | Updated to bind all references immediately in dlopen Updated to use "--" to end options when calling PKI check-in: 88fe253dd1 user: rkeene tags: trunk | |
| 22:43 | Moved Tcl initialization to the end check-in: feb8e3ae9f user: rkeene tags: trunk | |
Changes
Modified tclpkcs11.c
from [ec79d424ff]
to [93a4e33898].
| ︙ | ︙ | |||
411 412 413 414 415 416 417 |
tcl_rv = Tcl_LoadFile(NULL, Tcl_NewStringObj(pathname, -1), NULL, 0, NULL, new_handle);
if (tcl_rv != TCL_OK) {
return(NULL);
}
return(new_handle);
#elif defined(HAVE_DLOPEN)
| | | 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 |
tcl_rv = Tcl_LoadFile(NULL, Tcl_NewStringObj(pathname, -1), NULL, 0, NULL, new_handle);
if (tcl_rv != TCL_OK) {
return(NULL);
}
return(new_handle);
#elif defined(HAVE_DLOPEN)
return(dlopen(pathname, RTLD_NOW | RTLD_GLOBAL));
#elif defined(HAVE_SHL_LOAD)
return(shl_load(pathname, BIND_DEFERRED, 0L));
#elif defined(_WIN32)
return(LoadLibrary(pathname));
#endif
return(NULL);
}
|
| ︙ | ︙ | |||
1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 |
} else {
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("::pki::decrypt", -1));
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("-nounpad", -1));
}
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("-pub", -1));
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("-binary", -1));
Tcl_ListObjAppendElement(interp, pki_real_cmd, tcl_input);
Tcl_ListObjAppendElement(interp, pki_real_cmd, tcl_keylist);
return(Tcl_EvalObjEx(interp, pki_real_cmd, 0));
}
if (!tcl_handle) {
| > | 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 |
} else {
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("::pki::decrypt", -1));
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("-nounpad", -1));
}
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("-pub", -1));
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("-binary", -1));
Tcl_ListObjAppendElement(interp, pki_real_cmd, Tcl_NewStringObj("--", -1));
Tcl_ListObjAppendElement(interp, pki_real_cmd, tcl_input);
Tcl_ListObjAppendElement(interp, pki_real_cmd, tcl_keylist);
return(Tcl_EvalObjEx(interp, pki_real_cmd, 0));
}
if (!tcl_handle) {
|
| ︙ | ︙ |
Modified test.tcl
from [bf4bb077d0]
to [467430c48c].
| ︙ | ︙ | |||
34 35 36 37 38 39 40 |
set orig "TestMsg"
foreach certinfo_list $certs {
unset -nocomplain certinfo
array set certinfo $certinfo_list
puts "Cert: $certinfo(pkcs11_label) / $certinfo(subject)"
| | | | | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
set orig "TestMsg"
foreach certinfo_list $certs {
unset -nocomplain certinfo
array set certinfo $certinfo_list
puts "Cert: $certinfo(pkcs11_label) / $certinfo(subject)"
set cipher [pki::encrypt -binary -pub -- $orig $certinfo_list]
if {[catch {
set plain [pki::decrypt -binary -priv -- $cipher $certinfo_list]
} err]} {
if {$err == "PKCS11_ERROR USER_NOT_LOGGED_IN"} {
# Login and try it again...
puts -nonewline " *** ENTER PIN: "
flush stdout
gets stdin password
pki::pkcs11::login $handle $token_slotid $password
set plain [pki::decrypt -binary -priv -- $cipher $certinfo_list]
} else {
puts stderr "$::errorInfo"
exit 1
}
}
if {$plain != $orig} {
puts "Decryption error! Expected \"$orig\", got \"$plain\""
exit 1
}
set cipher [pki::encrypt -binary -priv -- $orig $certinfo_list]
set plain [pki::decrypt -binary -pub -- $cipher $certinfo_list]
set sig [pki::sign $orig $certinfo_list]
set verify [pki::verify $sig $orig $certinfo_list]
if {!$verify} {
puts "Signature verification error!"
|
| ︙ | ︙ |