A. 什么是公钥证书
所谓的公钥认证,实际上是使用一对加密字符串,一个称为公钥(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),两者相同则认证成功
B. 私钥、公钥、证书的区别和关系
私钥是要求你输入个人密码才可访问的,一般网上银行之类可用到。
公钥不要求设专置密码,是已属经默认了的,一般上一些安全性要求不高的网站或共享资源,如局域网。
证书是一种网站加密浏览方式,只有允许了才可访问,一般为安全性较高的网站,如网上银行;可以访止黑客盗取客户资料。
C. 数字证书和公钥技术的关系以及作用
CA是颁发数字证书的机构,解释CA的作用就能解释为什么有了公私钥还需要数字证书。配对公私钥谁都能产生,这样就可能导致身份欺诈,比如一些不法分子冒充合法客户对商家进行欺诈,造成商家和客户的损失,或者情形反过来。CA是可信任的第三方,它结合客户公钥发行数字证书的作用是保证“你”是“你”,“我”是“我”,从而避免信任欺诈。
D. 谁能讲讲根证书 公钥 CA的概念
电子商务认证授权机构(CA, Certificate Authority),也称为电子商务认证中心,是负责发放和回管理数字证书的权威机答构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。。
CA 也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。
CA认证
如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。
E. 数字证书,公钥和私钥这三者之间的关系是什么
公私钥又称非对称密钥,成对出现,只有相互可逆,一对公私钥可集成为一张数字证书
F. ssl证书的公钥私钥需要设置吗
需要设置的,具体设置方法可以咨询SSL证书提供商。
SSL证书的公钥内密码体制分为三个容部分,即公钥、私钥和加密解密算法,顾名思义,加密是通过加密算法和公钥对明文传输数据进行加密,得到密文,加密过程是需要用到公钥的。
解密是反过来,通过解密算法和私钥对密文进行解密,得到明文。解密过程需要用到解密算法和私钥。所以上文提到由公钥加密的内容,只能由对应的私钥进行解密,如果是公钥加密的内容,不知道私钥那是无法解密的,公钥和私钥保证了数据传输的安全性。
公钥和算法都是公开的,私钥是保密的,是需要自己手动设置的。大家都用公钥进行加密,但是只有私钥的持有者才能解密。在实际的使用中,有需要的人会生成一对公钥和私钥,把公钥发布出去给别人使用,自己保留私钥。
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。所以ssl证书中肯定包含唯一匹配的公钥和私钥。网站拥有者向CA机构申请ssl证书时,证书请求文件中只包含公钥,不包含私钥。证书私钥由网站保存,证书请求文件提交给CA机构进行认证和签名后对外公开。
G. 私钥、公钥、证书的区别和关系
1.首先我们需要区分加密和认证这两个基本概念。
加密是将数据资料加密,使得非法用户即使取专得加密过属的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。
2.其次我们还要了解公钥和私钥的概念和作用。
在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
公钥私钥的原则:
一个公钥对应一个私钥。
密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
H. 如何:导出和导入公钥证书
此过程说明如何轻松设置加密示例。方法是从“我的证书”存储中导出公钥证书,而不导出私钥,然后将该公钥证书导入“通讯簿”证书存储。要设置以下示例,请先按照该示例主题中的设置说明操作。这些说明建议使用此主题中的步骤将一个或多个生成的公钥证书放入“通讯簿”证书存储。 如何:为一个收件人封装邮件 如何:为多个收件人封装邮件 如何:签名和封装邮件要在一台计算机上运行上面的示例,需要满足下列条件:“通讯簿”证书存储和“我的证书”存储中均包含邮件收件人的密钥证书该计算机上有邮件收件人的私钥且与“我的证书”存储中的公钥证书关联示例先充当加密邮件的发件人,然后充当同一个加密邮件的收件人。通常,这两个角色是由不同计算机上具有唯一公钥凭据的不同实体充当。在充当加密邮件的发件人时,示例要求“通讯簿”证书存储中包含收件人的证书。在充当加密邮件的收件人时,示例要求“我的证书”存储中包含收件人的证书,并且该计算机上包含相应的私钥。使用Makecert.exe 实用程序设置此示例,可以通过多种方法实现此目的。 Certificate Creation Tool (Makecert.exe) 是用于生成测试证书的一种很方便的实用程序。在生产环境中,证书由证书颁发机构生成。以下Makecert 命令生成所需的公钥证书以及证书使用者名称为“Recipient1”的实体的私钥。证书将放入“我的证书”存储。Makecert -n "CN=Recipient1" -ss My 以下过程说明如何设置证书存储来满足这些要求。首先,生成收件人的证书和私钥,并将证书存储在“我的证书”存储中。然后将证书从“我的证书”存储中导出,再导入“通讯簿”存储。从“我的证书”存储中导出公钥证书打开Internet Explorer。在“工具”菜单上,单击“Internet 选项”,然后单击“内容”选项卡。单击“证书”按钮。在“个人”选项卡中,选择“颁发给”下列出“Recipient1”的证书。(“个人”选项卡列出“我的证书”存储中的证书。)单击“导出”。(此时会打开导出向导。)单击“下一步”。 单击“否,不要导出私钥”,然后单击“下一步”。单击“下一步”接受默认导出格式。键入要导出的证书的文件名或浏览至该文件名,单击“下一步”,然后单击“完成”。将证书导入“通讯簿”证书存储在“证书”对话框中,单击“其他人”选项卡。(“其他人”选项卡列出“通讯簿”证书存储中的证书。)单击“导入”,然后单击“下一步”。键入要存储导出证书的文件名的位置或浏览至该位置,然后单击“下一步”。单击“下一步”接受将导入的证书放入“其他人”证书存储。单击“完成”,然后单击“确定”。
I. 服务器ssl证书公钥什么时候改变
公钥(Public Key)与私钥(Private Key)是通过公钥算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。
SSL证书公钥是随着SSL证书签发而产生的,一张证书对应一对公私钥,公钥是不会改变的。
J. SSL中,公钥,私钥,证书的后缀名都是些啥
SSL证书后缀
CSR – Certificate Signing Request,即证书签名请求,这个并不是证书,而是向权威证书颁发机构获得签名证书的申请,其核心内容是一个公钥(当然还附带了一些别的信息),在生成这个申请的时候,同时也会生成一个私钥,私钥要自己保管好.做过iOS APP的朋友都应该知道是怎么向苹果申请开发者证书的吧.
KEY– 通常用来存放一个RSA 公钥或者私钥,并非X.509证书,编码同样的,可能是PEM,也可能是DER.
CRT– CRT应该是certificate的三个字母,其实还是证书的意思,常见于*NIX系统,有可能是PEM编码,也有可能是DER编码,大多数应该是PEM编码。本站提供的CRT格式等同于CER,等同于PEM。
PEM – Privacy Enhanced Mail的缩写,以文本的方式进行存储。打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾,内容是编码. 查看PEM格式证书的信息:openssl x509 -in certificate.pem -text -noout Apache和*NIX服务器偏向于使用这种编码格式.
CER– 还是certificate,还是证书,常见于Windows系统,同样的,可能是PEM编码,也可能是DER编码,大多数应该是DER编码.
DER – Distinguished Encoding Rules的缩写,以二进制方式进行存储,文件结构无法直接预览,查看DER格式证书的信息:openssl x509 -in certificate.der -inform der -text -noout Java和Windows服务器偏向于使用这种编码格式.
PFX/P12 – predecessor of PKCS#12,对*nix服务器来说,一般CRT和KEY是分开存放在不同文件中的,但Windows的IIS则将它们存在一个PFX文件中,(因此这个文件包含了证书及私钥)这样会不会不安全?应该不会,PFX通常会有一个”提取密码”,你想把里面的东西读取出来的话,它就要求你提供提取密码,PFX使用的时DER编码,如何把PFX转换为PEM编码?
JKS – 即Java Key Storage,这是Java的专利,跟OpenSSL关系不大,利用Java的一个叫”keytool”的工具,可以将PFX转为JKS,当然了,keytool也能直接生成JKS。