Add IdentityCertificate which is used by IdentityManager,
Certificate, which is previously used, now becomes an abstract class (only one virtual method getPublicKeyName)