libpki
libpki copied to clipboard
Library Design Refactoring and Code Re-Organization
The refactoring of the Crypto layer is long due. This pull request covers a comprehensive refactoring of the library to allow for better code management and easier use of the library:
CRYPTO Level Refactoring:
- Add a new CRYPTO layer to correctly handle key pairs and low-level crypto operations
- Refactor the HSM layer to provide HSM management, KEY storage, and crypto functions
- Remove support for network in/out functionalities from the HSM layer
- Integrate Composite Crypto from external providers
- Remove old experimental code
X509 Layer Refactoring (low level):
- Add a new X509 abstraction layer to correctly handle X509 structures and functions
- Provide a generalized layer to create, destroy, and manage X509 data structures
- Define layer's boundaries (X509 vs. PKIX)
PKIX Layer Addition (higher level):
- Add a new PKIX abstraction layer to correctly handle PKIX protocols
- Move all PKIX functionalities to this layer
X9F Layer Addition (protocol layer):
- Add support for ISARA Catalyst extensions (X509 layer)
- Add support for ISARA Catalyst Certificate Signing (X509 layer)
- Add support for X9 CKS Hello Extension (X509 layer)
- Add support for X9 MFA CertificateVerify extension (X509 layer)
TLS Layer Refactoring:
- Simplify and extend support for TLS
- Move TLS to a new abstraction layer from the net utils
- Add support for QTLS when using ISARA Catal (TLS layer)