You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
In the 'public-domain' directory there is a set of headers that arefunctionally equivalent to the standard ones but are placed in thePublic Domain for anyone to use as they see fit.
These headers have been rewritten from scratch to be equivalent to thecorresponding Oasis' ones. This is done because there are claims thatOasis licensing is not fully Open Source, and Debian (for example)does not accept code that includes the original headers.
The rewritten headers are a functional replacement only and intentionallydo not include any documentation string of any sort.They are a bare functional interface with as few copyrightable featuresas possible.
This repository contains a copy of Oasis's headers in the directory 'oasis'.Oasis's original headers are the normative headers, any functional discrepancyin the public-domain directory replacements is a bug.
Use
Copy the header for the version of the interface you want to use in yourproject and use as is or modified. Later headers are bacwards compatible,so the latest version should be preferred.
The header does not include any optional architecture specific directive.
On windows the header should wrapped in #pragma statements for packing(ex: #pragma pack(1))
The header does not wrap in extern "C" {}, so C++ projects will have to dothat on their own.
Thse headers guard deprecated declarions behind a define, for older codebases you can define PKCS11_DEPRECATED to get access to deprecated names.
No other macro declaration is needed.
NOTE about 3.2 pre release headers
This work was committed in preparation for the upcoming 3.2 release.These headers areNOT final and will probably still see minor adjustmenetsand should not be used except for testing or preparing pre-release code.