python-pkcs11 icon indicating copy to clipboard operation
python-pkcs11 copied to clipboard

Introduce lib finalize method

Open bukka opened this issue 1 year ago • 3 comments

This is to allow explicit calling of C_Finalize.

My use case is a test for my fork of pkcs11-proxy where I added tests which use this project. The way how pkcs11-proxy works is that it creates a daemon which gets the proxied calls. The issue that I have is that in my test I can start the daemon but then I need to also terminate it. However the termination should happen after getting C_Finalize which is difficult to do in pkcs11-proxy because it happens at the end when the garbage is collected. So I would like to do an explicit call to do finalize and then terminate the daemon.

bukka avatar Nov 19 '24 16:11 bukka

LGTM, but we should also test and document this function.

Btw. It might also solve an issue I encountered with the unit tests for my own project.

mathiasertl avatar Nov 19 '24 18:11 mathiasertl

Cool. I will try to put together some test in the coming weeks and also update the docs.

bukka avatar Nov 20 '24 07:11 bukka

Thanks! Otherwise I see no reason against a merge!

mathiasertl avatar Nov 20 '24 10:11 mathiasertl

As of now, there's an .unload() and .finalize() method. The latter is a wrapper around C_Finalize(...), the other also unloads the PKCS#11 lib (__dealloc__ calls that one). Can you test if either of those serves your use case?

MatthiasValvekens avatar Jul 02 '25 07:07 MatthiasValvekens