Hello Douglas,
> Sounds like p11 == NULL, or p11->C_Initialize is NULL or not valid. I did: printf("p11 = 0x%0x, p11->C_Initialize = 0x%0x\n", p11, p11->C_Initialize); in pkcs11-tool.c, just after C_LoadModule and before p11->C_Initialize(NULL) and got: p11 = 0xb7214060, p11->C_Initialize = 0x5810b6fa so it is not null. >Can you run this under gdb? Unfortunately I'm not very good in gdb :-( anna@anna:~/OpenSC/src/tools$ export LD_LIBRARY_PATH=`ls ../*/.libs -d | tr '\012' :` anna@anna:~/OpenSC/src/tools$ cd .libs/ anna@anna:~/OpenSC/src/tools/. libs$ gdb 'pkcs11-tool --module /home/anna/PKCS11_Project/libPkcs11.so' the last command returns: pkcs11-tool --module /home/anna/PKCS11_Project/libPkcs11.so: No such file or directory. Of course, when I run only: anna@anna:~/OpenSC/src/tools/.libs$ gdb pkcs11-tool that one runs and I can run in debug mode, but I'm afraid that then I'm not loading my module. Do you know how can I run gdb and also use my own library? Sorry, I'm not really used to work with gdb :-( >Did you define a C_GetFunctionList in the module? Yes I did. In fact when I printed out in pkcs11-tool.c printf("%d \n",p11->version.major); printf("%d \n",p11->version.minor); it printed out the correct values. This is also the only thing that I can call with p11. But yes, C_GetFunctionList is defined in my library. >You must make sure the you module is linked as a module >and not just a shared library, so that functions returned by > C_GetFunctionList points at the functions in your module, >and not ones that may be defined by the caller. This is an interesting point, thank you. Actually no, I have built and linked it just like a shared library. I thought what's written as 'module' in the code and 'shared library' are the same things. Thanks, Anna On Mon, Dec 17, 2012 at 4:18 PM, Douglas E. Engert <deeng...@anl.gov> wrote: > > > On 12/17/2012 7:01 AM, Anna Pavlova wrote: > > Hello, > > > > I am new to OpenSC but I was looking for a 3rd party tool with which I > could test my self-developed pkcs11 library and I came across the OpenSC > pkcs11-tool. > > > > I installed OpenSC under Ubuntu11.10, following > http://www.gooze.eu/howto/smartcard-quickstarter-guide/opensc-installation-under-gnu-linux > > everything went fine, but when I wanted to run the pkcs11-tool: > > > > > pkcs11-tool --module /home/anna/PKCS11_Project/libPkcs11.so -l -O > > > > > > I got segmentation fault. > > > > I was able to find the place where the code crashed. In pkcs11-tool.c > the line (558): > > > > rv = p11->C_Initialize(NULL); > > Sounds like p11 == NULL, or p11->C_Initialize is NULL or not valid. > It should point at your C_Initialize routine. > > Can you run this under gdb? > > > > > seem to crash. The message is just "Segmentation fault" > > > > The module loads apparently fine. > > module = C_LoadModule(opt_module, &p11); //no error here > > > > The problem is, that in my pkcs11 library I put an error message at the > very beginning of the C_Initialize function, but not even this is printed > out. So I don't think the crash comes from my library. > > I turned on the creation of a log file in my pkcs11 library, but not > even my pkcs11 library log file is created. > > > > Did you define a C_GetFunctionList in the module? > > You must make sure the you module is linked as a module > and not just a shared library, so that functions returned by > C_GetFunctionList points at the functions in your module, > and not ones that may be defined by the caller. > > Have a look at the pkcs11-spy too which is a PKCS#11 module that loads > a second PKCS#11 module. > > > > > I tried to google this problem and found this old thread: > > > http://www.opensc-project.org/pipermail/opensc-devel/2003-April/000831.html > > > > But it didn't really help me (rebuilding openssl didn't solve the > problem..). Could anyone help? > > > > Thanks for any help, > > Anna > > > > > > _______________________________________________ > > opensc-devel mailing list > > opensc-devel@lists.opensc-project.org > > http://www.opensc-project.org/mailman/listinfo/opensc-devel > > > > -- > > Douglas E. Engert <deeng...@anl.gov> > Argonne National Laboratory > 9700 South Cass Avenue > Argonne, Illinois 60439 > (630) 252-5444 > _______________________________________________ > opensc-devel mailing list > opensc-devel@lists.opensc-project.org > http://www.opensc-project.org/mailman/listinfo/opensc-devel >
_______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel