621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
|
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
|
-
+
-
-
-
-
-
-
+
-
-
-
-
-
|
if (!handle) {
Tcl_SetObjResult(interp, Tcl_NewStringObj("invalid handle", -1));
return(TCL_ERROR);
}
/* Log out of the PKCS11 module */
chk_rv = handle->pkcs11->C_Logout(handle->session);
handle->pkcs11->C_Logout(handle->session);
if (chk_rv != CKR_OK) {
Tcl_SetObjResult(interp, tclpkcs11_pkcs11_error(chk_rv));
return(TCL_ERROR);
}
/* Close the session, cleaning up all the session objects */
chk_rv = tclpkcs11_close_session(handle);
tclpkcs11_close_session(handle);
if (chk_rv != CKR_OK) {
Tcl_SetObjResult(interp, tclpkcs11_pkcs11_error(chk_rv));
return(TCL_ERROR);
}
/* Ask the PKCS#11 Provider to terminate */
chk_rv = handle->pkcs11->C_Finalize(NULL);
if (chk_rv != CKR_OK) {
Tcl_SetObjResult(interp, tclpkcs11_pkcs11_error(chk_rv));
return(TCL_ERROR);
|