TclPKCS11

Diff
Login

Diff

Differences From Artifact [c3ee986c0c]:

To Artifact [428601fccc]:


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);