Optional Nuget packages
PKI SDK is distributed through the Nuget Package Manager. Besides the main package, Lacuna.Pki, there are a few optional packages that add integration with providers and other libraries.

The arrows in the diagram above are dependencies. The Lacuna.Pki package has no dependencies, and each optional package depends on it and on one other package, the one it integrates with.
Storage integration
Some operations need an "external store", a place to store and retrieve data. Some examples of operations that need an external store:
- Compressing and decompressing CAdES signatures (for more information see Signature compression).
- Creating and validating CAdES signatures with validation references but without validation values (for instance, the CAdES-C, CAdES-X Type 1 and ICP-Brasil AD-RV policies).
To perform these operations, you pass the SDK an object that implements the Lacuna.Pki.Stores.ISimpleStore interface. The
main package already has one implementation of the interface, the @Lacuna.Pki.Stores.FileSystemSimpleStore class, which stores
and retrieves files on the local file system. For large-scale systems, though, disk storage may not be reliable enough.
The following optional packages offer other storage options:
- Azure Connector (storage on Azure Blob Storage)
- Amazon Connector (storage on Amazon S3)
- Entity Framework Connector (storage in a database)
Logging integration
The following packages let you log the SDK's internal messages for diagnostics:
- NLog Connector (send logs to the NLog library)
- Entity Framework Connector (send logs to the database)
- Azure Connector (send logs to Azure Table Storage)
The recommended package for logging is the NLog Connector: with NLog you can send logs to different destinations, Azure and the database included, and benefit from the performance of a library built for that purpose.
Nonce storage integration
For authentication with digital certificates, the SDK needs an external store for cryptographic nonces. The Entity Framework Connector package stores these nonces in the database using Microsoft Entity Framework.