Linking error with opensc-pkcs

后端 未结 1 943
谎友^
谎友^ 2021-01-26 10:21

I am trying to use opensc-pkcs11.so which I have built on Redhat linux 5. However, when I try to use in a sample program it is giving a linking error:

main.cpp:(         


        
1条回答
  •  有刺的猬
    2021-01-26 11:11

    PKCS#11 library opensc-pkcs11.so developed as a part of OpenSC project exports only C_GetFunctionList function which provides pointers to all the other PKCS#11 functions. It is exceptionally helpful when you load PKCS#11 library dynamically with dlopen() because you don't need to acquire function pointer for all 60+ functions with dlsym() call.

    In your case you need to call C_GetFunctionList first and then call rest of the functions via returned pointers. Here is the example from PKCS#11 v2.20 specification created by RSA Security Inc.:

    CK_FUNCTION_LIST_PTR pFunctionList; 
    CK_C_Initialize pC_Initialize; 
    CK_RV rv; 
    
    /* It’s OK to call C_GetFunctionList before calling 
    C_Initialize */ 
    rv = C_GetFunctionList(&pFunctionList); 
    assert(rv == CKR_OK); 
    pC_Initialize = pFunctionList -> C_Initialize; 
    
    /* Call the C_Initialize function in the library */ 
    rv = (*pC_Initialize)(NULL_PTR); 
    

    0 讨论(0)
提交回复
热议问题