证书通常是一个几K的小文件,使用二进制或者一定编码的文本(例如Base64)等保存有关公私钥和相应的信息。
那么证书里面包含哪些信息呢?
简单来说有这些信息:
?Version number
证书版本
?Serial number
证书序列号
?Signature algorithm ID
签名方式ID
?Issuer name
签发者
?Validity period
有效期.
?Subject name
主题名,通常是人、组织或者Web/应用服务器等.
?Subject public key information
主题公钥信息.
?Issuer unique identifier
签发者唯一标识.
?Subject unique identifier
主题唯一表示.
?Extensions
扩展,用于存储额外信息,例如密钥用法、别名等等.
?Signed hash of the certificate data
证书数据哈希HASH签名,使用签发这私钥进行加密,可作为数字签名.
当然,最关键的是证书的三要素:
1、信任的颁发者
2、有效期
3、名称一致
否则,证书使用是就会遇到问题:
为了避免这种问题,一般有两种方式获取证书:
1、使用第三方证书。
所谓第三方证书,就是专门提供证书服务的机构,按年收取证书费用,为用户提供证书。由于这些机构的根CA往往随设备或者设备上的操作系统提供,因此用户无需手动去配置系统信任他们颁发的证书。
对最终用户,尤其是使用移动设备不方便导入证书的最终用户而言很方便,缺点是有每年的费用。
2、使用自建CA颁发证书。
有很多免费的CA系统可以使用,例如Windows Server自带的AD CS (AD证书服务)。可以使用AD或者手动导入CA的证书,作为受信任的证书颁发机构,由此解决验证机构不受信任的问题。
对最终用户而言,可能需要导入CA证书,存在一定技术难度。好处是不需要付出证书费用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。