CA证书简介:
CA 也拥有一个证书(内含和)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。
证书的内容包括:的信息、用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。
CA证书申请:
选用沃通证书机构申请,填写申请资料绑定域名,上传资料,验证后通过;
公钥和私钥
公钥(Public Key)与私钥(Private Key)使通过一种算法得到的一个密钥对,公钥是密钥对中公开的部分,私钥则是非公开的部分。
公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据,通过这种算法得到的密钥对能保证在世界范围内是唯一的,使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密;
数字证书是一个经证书授权中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件,最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名,数字证书还有一个重要的特征就是只在特定的时间段内有效;
一、使用 OpenssL 生成私钥
openssl genres -out myprivate.pem 2048
私钥文件:myprivate.pem,其中“2048”为加密长度;
私钥和公钥一一对应,私钥如果丢失或损坏,申请的对应公钥和数字证书将无法使用;
二、证书链
证书链由两个环节组成—信任锚(CA 证书)环节和已签名证书环节。自我签名的证书仅有一个环节的长度—信任锚环节就是已签名证书本身。
证书链(certificate chain)
证书链可以有任意环节的长度,所以在三节的链中,信任锚证书CA 环节可以对中间证书签名;中间证书的所有者可以用自己的私钥对另一个证书签名。CertPath API 可以用来遍历证书链以验证有效性,也可以用来构造这些信任链。
Web 浏览器已预先配置了一组浏览器自动信任的根 CA 证书。来自其他证书授权机构的所有证书都必须附带证书链,以检验这些证书的有效性。证书链是由一系列 CA 证书发出的证书序列,最终以根 CA 证书结束。
证书最初生成时是一个自签名证书。自签名证书是其签发者(签名者)与主题(其公共密钥由该证书进行验证的实体)相同的证书。如果拥有者向 CA 发送证书签名请求 (CSR),然后输入响应,自签名证书将被证书链替换。链的底部是由 CA 发布的、用于验证主题的公共密钥的证书(回复)。链中的下一个证书是验证 CA 的公共密钥的证书。通常,这是一个自签名证书(即,来自 CA、用于验证其自身的公共密钥的证书)并且是链中的最后一个证书。
在其他情况下,CA 可能会返回一个证书链。在此情况下,链的底部证书是相同的(由 CA 签发的证书,用于验证密钥条目的公共密钥),但是链中的第二个证书是由其他 CA 签发的证书,用于验证您向其发送了 CSR 的 CA 的公共密钥。然后,链中的下一个证书是用于验证第二个 CA 的密钥的证书,依此类推,直至到达自签名的。因此,链中的每个证书(第一个证书之后的证书)都需要验证链中前一个证书的签名者的公共密钥。
阿里云上的 CA 证书服务,手动生成 CRS 文件或者阿里云系统生成,提交沃通获取公钥,可绑定在阿里云的负载均衡处;
apache 和 nginx 也可以配置 ssl 模块;