数字证书

 每个人都有很多种形式的身份证明,如身份证、驾驶证、护照等,这些证件都是由相应的签发机构盖章认证的,可信程度高,很难进行伪造,并且随着科技的发展,还可以通过指纹、视网膜等生物特征进行认证。

 数字证书又称为电子证书,类似于日常生活中的身份证,也是另外一种形式的身份认证,用于标识网络中的用户身份。数字证书集合了多种密码学的加密算法,证书自身带有公钥信息,可以完成相应的加密、解密操作,同时还有自身信息的数字签名,

可以鉴别整合证书的办法机构,以及证书内容的完整性。由于证书本身包含有用户的认证信息,因此可以作为用户身份识别的依据。1通常数字证书会包含如下内容:

  • 对象的名称(人、服务器、组织)
  • 证书过期时间
  • 证书颁发机构
  • 证书颁发机构对证书信息的数字签名
  • 签名算法
  • 对象的公钥
对象的公钥用来对信息进行加密,信息传输到接收方,接收方将使用公钥对应的私钥进行解密。

1、X.509

 不同的数字证书所包含的内容信息和格式可能不尽相同,因此,需要有一种格式标准来规范数字证书的存储和校验。大多数的数字证书都以一种标准的方式来存储他们的信息,X.509提供了一种标准方式,将证书信息规范地存储到一系列可解析的字段中。

2、证书签发
 在现实生活中,我们的身份证件需要由相应的政府机关进行签发,而网络用户的数字证书则需要由数字证书认证机构CA来进行颁发,只有经过CA颁发的数字证书在网络中才具备可认证性。
 数字证书的签发过程实际上就是对数字证书的内容,包括证书所代表对象的公钥进行数字签名,而验证证书的过程,实际上是校验证书的数字签名,包含了对证书有效期的验证。

3、证书校验
 客户端接收到数字证书时,首先会检查证书的认证机构,如果认证机构是权威的证书认证机构,则通过该权威认证机构的根证书获得证书颁发者的公钥,通过该公钥,对证书的数字签名进行校验,并验证证书的有效时间是否过期。根证书是证书认证机构给自己颁发的数字证书,是证书信任链的起始点,安装根证书则意味着对这个证书认证机构的信任。
 证书主要包含用户的信息、用户的公钥和证书认证机构对该证书的数字签名。要验证证书的真伪(即验证证书认证机构对该证 书信息的签名是否有效),需要证书认证机构的公钥来验证,而证书认证机构的公钥存在于对这份证书进行签名的上一级用户的数字
证书内,故又要用到签发改证书的证书来验证,这样一来就构成了一条证书链的关系。这条证书链在哪里终结呢?答案就是根证书。
根证书是一份特殊的证书,它的签发者是它本身,下载安装根证书就表名对该根证书及其所签发的证书都表示信任,而技术上则是建
立起一个验证证书信息的链条,证书的验证追溯至根证书即结束。

4、证书管理

 任何机构或者个人都可以申请数字证书,并使用数字证书对网络通信保驾护航,要获得数字证书,首先需要使用数字证书管理工具,如keytool、OpenSSL等,然后构建CSR(数字证书签发申请),提交给数字证书认证机构进行签名,最终形成数字证书。

 对于keytool、OpenSSL的使用这里不做具体介绍,具体使用参考《大型分布式网站架构设计与实践》第3章节。

5、证书的使用

 证书包含一些认证信息以外,还包含了证书持有人的公钥,外界获得证书以后,可以使用公钥对相关信息进行加密,而信息接收

方则使用私钥进行解密。Java提供完善证书管理工具keytool,简介的API使我们能够便捷地获数字证书所包含的信息,以及进行私钥

的管理。

 使用Openssl生成的数字证书和私钥,如需在Java环境下使用,需要先将其转换成PKCS#12编码格式的秘钥库,才能够使用keytool

工具进行相应的管理。导出的.p12文件包含了证书文件和私钥,可作为keytool的keystore使用。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值