CF重庆cf博客一区找女友

公钥基础设施(PKI)

密钥就是用来加解密用的文件或者字符串。密钥在非对称加密的领域里,指的是私钥和公钥,他们总是成对出现,其主要作用是加密和解密。常用的加密强度是2048bit。

RSA即非对称加密算法。非对称加密有两个不一样的密码,一个叫私钥,另一个叫公钥,用其中一个加密的数据只能用另一个密码解开,用自己的都解不了,也就是说用公钥加密的数据只能由私钥解开。

CERTIFICATE-----"的头尾标记。服务器认证***,中级认证***和私钥都可以储存为PEM格式(认证***其实就是公钥)。Apache和nginx等类似的服务器使用PEM格式***。

DER(Distinguished Encoding Rules),与PEM不同之处在于其使用二进制而不是Base64编码的ASCII。扩展名为.der,但也经常使用.cer用作扩展名,所有类型的认证***和私钥都可以存储为DER格式。Java使其典型使用平台。

Request),它是向CA机构申请数字×××书时使用的请求文件。在生成请求文件前,我们需要准备一对对称密钥。私钥信息自己保存,请求中会附上公钥信息以及国家,城市,域名,Email等信息,CSR中还会附上签名信息。当我们准备好CSR文件后就可以提交给CA机构,等待他们给我们签名,签好名后我们会收到crt文件,即***。

注意:CSR并不是***。而是向权威***颁发机构获得签名***的申请。

把CSR交给权威***颁发机构,权威***颁发机构对此进行签名,完成。保留好CSR,当权威***颁发机构颁发的***过期的时候,你还可以用同样的CSR来申请新的***,key保持不变.

数字签名就是"非对称加密+摘要算法",其目的不是为了加密,而是用来防止他人篡改数据。

其核心思想是:比如A要给B发送数据,A先用摘要算法得到数据的指纹,然后用A的私钥加密指纹,加密后的指纹就是A的签名,B收到数据和A的签名后,也用同样的摘要算法计算指纹,然后用A公开的公钥解密签名,比较两个指纹,如果相同,说明数据没有被篡改,确实是A发过来的数据。假设C想改A发给B的数据来欺骗B,因为篡改数据后指纹会变,要想跟A的签名里面的指纹一致,就得改签名,但由于没有A的私钥,所以改不了,如果C用自己的私钥生成一个新的签名,B收到数据后用A的公钥根本就解不开。

使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。

数字***则是由***认证机构(CA)对***申请者真实身份验证之后,用CA的根***对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发***机 构的公章)后形成的一个数字文件。实际上,数字***就是经过CA认证过的公钥,除了公钥,还有其他的信息,比如Email,国家,城市,域名等。

  • 一组用于生成自定义 TLS PKI 的工具

  • multirootca程序是可以使用多个签名密钥的***颁发机构服务器

  • mkbundle程序用于构建***池

PKI借助数字***和公钥加密技术提供可信任的网络身份。通常,***就是一个包含如下身份信息的文件:

  • ***颁发组织授予的权限,如***有效期、适用的主机名、用途等

  • 使用***颁发组织私钥创建的数字签名

  • CN: Common Name,浏览器使用该字段验证网站是否合法,一般写的是域名。非常重要。浏览器使用该字段验证网站是否合法

生成CA***和CA私钥和CSR(***签名请求):

该命令会生成运行CA所必需的文件ca-key.pem(私钥)和ca.pem(***),还会生成ca.csr(***签名请求),用于交叉签名或重新签名。

使用现有的CA私钥,重新生成:

使用现有的CA私钥和CA***,重新生成:

查看CSR(***签名请求)信息:

配置***生成策略,让CA软件知道颁发什么样的***。

这个策略,有一个默认的配置,和一个profile,可以设置多个profile,这里的profileetcd

  • 默认策略,指定了***的有效期是一年(8760h)

  • etcd策略,指定了***的用途

参考资料

 

随机推荐