设计要独立使用的提供者。尽管由提供者共享的对象不必是应用程序所链接到的具有完整功能的库,但是提供者中必须存在所有必需的符号。假设提供者将要在 RTLD_GROUP 和 RTLD_NOW 模式下由 dlopen(3C) 打开。
在共享对象中创建 PKCS #11 Cryptoki 实现。此共享对象中应当包括必需的符号,而不要依赖于消费方应用程序。
强烈建议(但并非必需)为数据清除提供 _fini() 例程。如果应用程序或共享库同时装入 libpkcs11 和其他提供者库,则需要使用此方法来避免在 C_Finalize() 调用之间产生冲突。请参见避免在用户级提供者中出现数据清除冲突。
应用 Sun Microsystems, Inc. 提供的证书。请参见申请提供者签署证书。
使用证书和 elfsign 对二进制文件进行签名。请参见签署提供者。
按照 Sun 约定对共享对象进行打包。请参见附录 F,打包和签署加密提供者。