① 老师你好,在ssl证书中,cer是公钥证书,key是私钥证书,crt是证书链对吗
一、SSL证书文件
如图所示,就是一些SSL证书文件。上图带有root CA 字样的证书文件就是根证书, 然后带intermediate ca 字样的就是中间证书文件, 最后一个 ssl servercertificate 字样的证书即为证书文件。
了解认识SSL证书文件,才能更好的去安装SSL证书。虽然大部分时候直接安装证书文件,浏览器也会显示安全,但是由于一些浏览器会自动补齐证书链,但是证书链缺失的话,一些手机端或者部分浏览器可能会报不安全的提醒,所以在安装的时候建议安装完整的证书文件,补齐证书链。
二、SSL证书格式
在SSL证书源文件中你会发现有很多格式。不同的web服务器对于证书的格式是有要求的,接下来也带大家了解下不同格式的证书文件。
PEM:- Privacy Enhanced Mail,打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾,内容是BASE64编码.上述一般证书文件 ,中间证书和根证书,证书文件很多都是pem格式的。Apache和NIgnix服务器偏向于使用这种编码格式.
DER:这种格式也是常见的证书格式,跟pem类似,中间证书和根证书,证书文件很多都是DER的,Java和Windows服务器偏向于使用这种编码格式。
JKS :jks是Java密钥库(KeyStore)比较常见的一种格式。一般可用通过cer 或者pem 格式的证书以及私钥的进行转化为jks格式,有密码保护。所以它是带有私钥的证书文件,一般用户tomcat环境的安装
PFX:pfx格式的证书 也是由cer 或者pem格式的证书文件以及私钥转化而来,所以该证书文件也是带有私钥的证书文件,一般用于iis 环境的证书安装。
② 公钥与私钥
rsa可以用来加密
这时候用公钥加密
私钥解密
(公钥公开
如果私钥加密的话
岂不是谁都可以用公钥都要解开
有何秘密可言
你的私钥要通过diniffer-hellman算法秘密的传给对方)
rsa可以用来也用来签名
这时候用私钥签名
公钥认证
(如果不是你用你自己的私钥签的
怎么用你的公钥可以解开的)
所以我想说
这题答案问题
正确的答案
要么是
签名和认证
要么
解密和加密
结果所有的答案
都是把数据加密和签名扯到一起
这让人情何以堪
就像刀可以杀猪
也可以用来做西红柿炒鸡蛋
结果题目是
用刀杀猪的时候
应该怎么切西红柿
这让我情何以堪
有木有
③ 私钥、公钥、证书的区别和关系
私钥是要求你输入个人密码才可访问的,一般网上银行之类可用到。
公钥不要求设专置密码,是已属经默认了的,一般上一些安全性要求不高的网站或共享资源,如局域网。
证书是一种网站加密浏览方式,只有允许了才可访问,一般为安全性较高的网站,如网上银行;可以访止黑客盗取客户资料。
④ 数字证书,公钥和私钥这三者之间的关系是什么
公私钥又称非对称密钥,成对出现,只有相互可逆,一对公私钥可集成为一张数字证书
⑤ ssl证书的公钥私钥需要设置吗
需要设置的,具体设置方法可以咨询SSL证书提供商。
SSL证书的公钥内密码体制分为三个容部分,即公钥、私钥和加密解密算法,顾名思义,加密是通过加密算法和公钥对明文传输数据进行加密,得到密文,加密过程是需要用到公钥的。
解密是反过来,通过解密算法和私钥对密文进行解密,得到明文。解密过程需要用到解密算法和私钥。所以上文提到由公钥加密的内容,只能由对应的私钥进行解密,如果是公钥加密的内容,不知道私钥那是无法解密的,公钥和私钥保证了数据传输的安全性。
公钥和算法都是公开的,私钥是保密的,是需要自己手动设置的。大家都用公钥进行加密,但是只有私钥的持有者才能解密。在实际的使用中,有需要的人会生成一对公钥和私钥,把公钥发布出去给别人使用,自己保留私钥。
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。所以ssl证书中肯定包含唯一匹配的公钥和私钥。网站拥有者向CA机构申请ssl证书时,证书请求文件中只包含公钥,不包含私钥。证书私钥由网站保存,证书请求文件提交给CA机构进行认证和签名后对外公开。
⑥ 数字证书是什么,公钥加密和私钥签名
数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。
⑦ 公钥和私钥的关系
这是为了保障网络传输安全的一套加密体系。每个人都有一套公钥和私钥,公钥可以通过证书下载、传输而告知多人;私钥则由使用者自己保管。当进行传输时,发送者使用接收者的公钥对资料进行加密以保证传输资料的机密性,同时使用自己的私钥进行加密以保证所传资料的真实性--确定是自己传出的。接收者接到资料后使用自己的私钥对资料进行解密、查看--因为是用他的公钥加密的,所以只有他的私钥可以解密,同时使用发送者的公钥解密从而确定该资料确实由该私钥持有者所发出,从而保证资料的正确性。这样传输的资料在法律上也是有效力的!
⑧ 什么是公钥证书
所谓的公钥认证,实际上是使用一对加密字符串,一个称为公钥(public key),任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。
ssh 的公钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。为了说明方便,以下将使用这些符号。
Ac 客户端公钥
Bc 客户端密钥
As 服务器公钥
Bs 服务器密钥
在认证之前,客户端需要通过某种方法将公钥 Ac 登录到服务器上。
认证过程分为两个步骤。
会话密钥(session key)生成
客户端请求连接服务器,服务器将 As 发送给客户端。
服务器生成会话ID(session id),设为 p,发送给客户端。
客户端生成会话密钥(session key),设为 q,并计算 r = p xor q。
客户端将 r 用 As 进行加密,结果发送给服务器。
服务器用 Bs 进行解密,获得 r。
服务器进行 r xor p 的运算,获得 q。
至此服务器和客户端都知道了会话密钥q,以后的传输都将被 q 加密。
认证
服务器生成随机数 x,并用 Ac 加密后生成结果 S(x),发送给客户端
客户端使用 Bc 解密 S(x) 得到 x
客户端计算 q + x 的 md5 值 n(q+x),q为上一步得到的会话密钥
服务器计算 q + x 的 md5 值 m(q+x)
客户端将 n(q+x) 发送给服务器
服务器比较 m(q+x) 和 n(q+x),两者相同则认证成功
⑨ SSL中,公钥,私钥,证书的后缀名都是些啥
Linux 下的工具们通常使用 base64 编码的文本格式,相关常用后缀如下:
* 证书:.crt, .pem
* 私钥:.key
* 证书请求:.csr
.cer 好像是回二进制的证书。当然你也答可以把证书和 key 放到同一个文件里边。这时候扩展名通常叫 .pem。Java 的 keystore 什么的都是二进制的,好像是自有格式。
其实在类 UNIX 系统上,关注文件名后缀的程序并不多的。而证书、密钥都是有明显的标识的,所以相关软件(如 openssl)可以处理,而不管你用的什么扩展名。当然乱用扩展名自己识别不便,桌面环境也不能将扩展名与默认操作、图标关联起来。
如果不知道一个文件是个啥,可以使用 file 命令识别试试。有经验的也可以直接拿文本编辑器打开看看。
⑩ 数字证书,公钥、私钥,数字签名的关系
公钥、私钥是一对,公钥是给别人用来解密的,私钥是自己用来加密的
数字证书是用你的公钥生成的,包含你的公钥和其他的一些个人和组织信息。
数字签名是你用你的私钥加密后的一组数据,可以让别人用你的公钥解开。表明是你签名认可的数据