src: eliminate ManagedEVPPkey
Simplify key handling a bit by eliminating the additional indirection through ManagedEVPPKey
Prior to this change we had:
KeyObjectHandle
-> std::shared_ptr<KeyObjectData>
-> ManagedEVPPKey
-> EVPKeyPointer
The ManagedEVPPKey
really didn't add much value in the mix. After this change we have:
KeyObjectHandle
-> KeyObjectData
-> EVPKeyPointer
The KeyObjectData
class now handles the std::shared_ptr
bits internally and assumes what little responsibility the ManagedEVPPKey
class had.
Overall it ends up simplifying the codebase quite a bit even if the changes are scattered across a wide area.
This is being done as part of the larger effort to move crypto logic out to the ncrypto dep.