|
Packit |
8df227 |
|
|
Packit |
8df227 |
===============================================
|
|
Packit |
8df227 |
PaKChoiS -- http://www.manyfish.co.uk/pakchois/
|
|
Packit |
8df227 |
===============================================
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
Introduction
|
|
Packit |
8df227 |
------------
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
pakchois is just another PKCS#11 wrapper library. pakchois aims to
|
|
Packit |
8df227 |
provide a thin wrapper over the PKCS#11 interface.
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
The goals are:
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
1) to offer a modern* object-oriented C interface wrapper for PKCS#11.
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
2) to not hide or abstract away any details of the PKCS#11 interface
|
|
Packit |
8df227 |
itself except where absolutely necessary.
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
3) to handle the details of loading DSOs
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
4) to allow the caller to avoid caring about where on the system
|
|
Packit |
8df227 |
PKCS#11 modules might be stored, or exactly how they are named.
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
5) to avoid any dependency on a particular cryptography toolkit.
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
Existing PKCS#11 wrapper libraries solutions differ in at least one of
|
|
Packit |
8df227 |
the above goals.
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
*: "modern" being a euphemism for not using process-global state,
|
|
Packit |
8df227 |
having a sane symbol namespace, etc.
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
Etymology
|
|
Packit |
8df227 |
---------
|
|
Packit |
8df227 |
|
|
Packit |
8df227 |
"pakchois" is prounounced like the vegetable, "Pak Choi", with a
|
|
Packit |
8df227 |
silent "s"; the word is pluralized only to make the PKCS acronym fit.
|
|
Packit |
8df227 |
In this way the time-honoured tradition of naming projects by grepping
|
|
Packit |
8df227 |
/usr/{share/,}dict/words is continued.
|