Remove CertificateType in Certificate, the type of certificate should be told from certificate name
Change private members to protected members for future extension