Task #1410
closedChanging semantic of default identity in KeyChain
Description
In KeyChain, there is a default identity which is used when no certificate or identity is supplied in signing process.
However, there are two types of default identities: one called "system default identity" which is independent from any application; one called "application default identity" which might be different from one application to another.
Current KeyChain::getDefaultIdentity returns the first one (system default identity). But compared to system default identity, application default identity is more useful. When creating an KeyChain instance, the application can set a default identity whose lifetime is the same as the KeyChain instance.
The plan is to change the semantic of KeyChain::getDefaultIdentity, so that it returns the application default identity rather than the system default identity.
And the system default identity is returned by another method KeyChain::getSystemDefaultIdentity