Deprecate unnecessary Pib/Tpm specific methods from KeyChain
As KeyChain used to inherit from Pib and Tpm, many KeyChain methods are there simply because they are the methods of Pib & Tpm.
These methods are not semantically methods of KeyChain, and increase the complexity of KeyChain interface, and should be removed from KeyChain interfaces.
Current KeyChain interfaces provide four categories of methods:
- add/delete create identity, key, and certificate
- packet signing
- lookup identity, key, and certificate
- some Pib or Tpm specific methods
The first two categories have KeyChain semantic and require both Pib and Tpm, and should be kept.
The third category only requires Pib, and can be done easily through the existing method
KeyChain::getPib(), and should be removed.
The last category is only meaningful to Pib and Tpm, and should not be exposed as KeyChain methods.
The plan is to first deprecate the last two category methods in v0.4, and remove them in v0.5.