公钥、私钥、证书的基本概念和使用

本文章参考了

http://www.cnblogs.com/jimshen/archive/2009/11/09/1599347.html

http://blog.csdn.net/allwtg/archive/2009/12/09/4969543.aspx

公钥和私钥的概念

在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是公开密钥算法(也叫非对称算法、双钥算法)”,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

证书的概念

数字证书则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机 构的公章)后形成的一个数字文件。CA完成签发证书后,会将证书发布在CA的证书库(目录服务器)中,任何人都可以查询和下载,因此数字证书和公钥一样是公开的。实际上,数字证书就是经过CA认证过的公钥。

原则:

    1、一个公钥对应一个私钥。

    2、密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。

    3、如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。

    4、如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。

    5、非对称密钥密码的主要应用就是公钥加密和公钥认证,而公钥加密的过程和公钥认证的过程是不一样的

 

基于公开密钥的加密过程

比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:

    1、Bob将他的公开密钥传送给Alice。

    2、Alice用Bob的公开密钥加密她的消息,然后传送给Bob。

    3、Bob用他的私人密钥解密Alice的消息。

基于公开密钥的认证过程

身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。还是Alice和Bob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此 Alice只要使用公钥密码学对文件签名发送给Bob,Bob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴别。整个身份认证的过程如下:

    1、Alice用她的私人密钥对文件加密,从而对文件签名。

    2、Alice将签名的文件传送给Bob。

    3、Bob用Alice的公钥解密文件,从而验证签名。

公钥、私钥、证书的生成

    1、一个HTTPS服务器首先创建他自己的密钥对(key pair),包含公钥和私钥。

    2、通过网络把他的公钥送到CA中心,公钥中包含了个人鉴别信息(他的名字、地址、所用设备的序列号等等)。

    3、CA中心创建并签署一个包含公钥及个人信息的证书,从而保证密钥的确实性。

    4、使用该证书的人可以通过检验CA中心的签名(检验CA签名需要CA的公钥)来验证证书的确实性。

公钥、私钥、证书的使用

在HTTPS协议的握手阶段是公钥、私钥、证书的典型使用场景。HTTPS握手的典型时序图如下:

绘图1 

上图中实线部分是必须的,虚线部分是可选的。该流程完成了两个任务:服务器身份的验证、加密传输对称加密密钥。

1、client hello和 server hello表示双方要建立一个加密会话。

2、服务器把数字证书传输给客户端,证书中包含服务器公钥,客户端用公钥解析证书中的数字签名,可以验证服务器的身份。

3、Server Hello Done表示hello 流程结束。

4、客户端生成一个对称加密密钥,用于实际数据的加密传输,并用服务器的公钥加密,把对生成的密钥传递给服务器。同时携带一个用刚刚生成的加密密钥加密的“client finished”。

5、服务器收到对称加密密钥,并尝试用该密钥解密加密字段,如能得到明文“client finished”,认为该密钥有效,可以用于之后的数据加密传输。同时用该密钥加密“server finished”,传递给客户端。

6、客户端用对称机密密钥解密,如能得到明文“server finished”,客户端认为该服务器已经正确的接收到对称密钥。

7、加密数据传输开始。

虚线部分是服务器端要求验证客户身份。

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
证书服务器配置与管理全文共33页,当前为第1页。 学习目标 证书服务的基本概念 安装与配置证书服务器 客户端证书安装与使用 公钥基础设施PKI是目前实施网络安全应用的主要技术,其核心技术即使用公钥数字证书实现主体身份和公钥的绑定,制成各种安全机制的应用。Windows Server 2003提供了公钥证书管理工具,使用该工具可以方便产生、颁发、注销数字证书,架构企业自己的认证心。本章介绍证书服务器的配置与管理,包括以下主要内容: 证书服务器配置与管理全文共33页,当前为第2页。 目 录 证书服务的基本概念 安装与配置证书服务 客户端申请和安装证书 证书服务器配置与管理全文共33页,当前为第3页。 证书服务的基本概念 公钥数字证书(又称为公钥证书、数字证书、Certificates)简称证书,是用于绑定实体身份和公钥信息的经过权威机构数字签名的声明,以文件的形式存在,证书公钥与保存对应私钥的实体绑定在一起。 证书一般由可信的权威第三方CA心(权威授权机构)颁发, CA 对其颁发的证书进行数字签名,以保证所颁发证书的完整性和可鉴别性。 CA可以为用户、计算机或服务等各类实体颁发证书证书服务器配置与管理全文共33页,当前为第4页。 证书服务的基本概念 公钥证书公钥密码算法为基础。公钥密码算法基于复杂数学问题构建公钥私钥的映射关系。 使用公钥加密数据(数据加密),只能使用对应的私钥解密(数据解密)。 使用私钥加密数据(称数字签名),只能使用对应公钥解密(签名验证)。 证书服务器配置与管理全文共33页,当前为第5页。 证书服务的基本概念 广泛应用的证书格式基于国际电信联盟电信标准部门(ITU-T)建议的X.509v3 标准。 X.509 证书包括公钥和有关证书授予的人员或实体的信息、有关证书的有效期、用途等信息,以及有关颁发证书的CA的信息。 实体的主题(或主体,Subject)标示证书的持有者,证书的颁发者(Issuer)和签名者是CA。 证书服务器配置与管理全文共33页,当前为第6页。 证书服务的基本概念 证书只在证书颁发者对该证书指定的时间段内有效。每个证书包含"有效期从"和"有效期至"日期,这两个日期设置了证书有效期的界限。一旦超过证书的有效期,证书持有者必须重新请求证书。 如果因为某种原因,如证书主体私钥泄密、证书主体身份变更等,必须撤销证书使用,颁发者可以吊销证书。每个颁发者(CA)维护一个证书吊销列表(CRL)。 证书服务器配置与管理全文共33页,当前为第7页。 证书服务的基本概念 IE浏览器,"工具"/"Internet选项"菜单,选择"内容"选项卡,单击"证书"按钮。对话框包括"个人"、"其他人"、"证书颁发机构"、"受信任的根证书颁发机构"等不同证书存储区域。 证书服务器配置与管理全文共33页,当前为第8页。 目 录 证书服务的基本概念 安装与配置证书服务 客户端申请和安装证书 证书服务器配置与管理全文共33页,当前为第9页。 安装证书服务 安装Windows Server 2003证书服务组件 证书服务子组件详细信息 证书服务器配置与管理全文共33页,当前为第10页。 安装证书服务 设置CA类型 证书服务器配置与管理全文共33页,当前为第11页。 安装证书服务 选择加密服务提供程序 证书服务器配置与管理全文共33页,当前为第12页。 安装证书服务 设置CA的公用名称 证书服务器配置与管理全文共33页,当前为第13页。 安装证书服务 证书数据库设置 证书服务器配置与管理全文共33页,当前为第14页。 安装证书服务 完成安装后,系统重新启动IIS服务。在"管理工具"应用程序组添加了"证书颁发机构"管理控制台,管理员使用它可以进行证书服务的管理与设置。 证书服务安装完成后,在证书服务器上将增加一个共享文件夹%SystemRoot%\system32\ certsrv\CertEnroll,下面存放CA的根证书证书撤销列表(CRL)文件。 同时,在服务器的IIS服务将增加证书服务的Web服务。 证书服务器配置与管理全文共33页,当前为第15页。 管理证书服务器 "证书颁发机构"管理证书服务器 处理挂起的证书请求 证书服务器配置与管理全文共33页,当前为第16页。 管理证书服务器 处理颁发的证书 证书服务器配置与管理全文共33页,当前为第17页。 目 录 客户端申请和安装证书 证书服务器配置与管理全文共33页,当前为第18页。 安装CA证书 安装受信任的CA根证书 访问证书服务器 证书服务器配置与管理全文共33页,当前为第19页。 安装CA证书 下载CA证书页面 证书服务器配置与管理全文共33页,当前为第20页。 安装CA证书 证书下载到本地磁盘后,可以安装到操作系统。在IE浏览器选择"工具"/
### 回答1: OpenSSL是一个开源的加密工具包,可以用于验证私钥证书。 在命令行使用openssl s_server -msg -verify命令可以执行验证私钥证书的操作。 -msg参数可以指定在连接发送和接收的消息。 -verify参数用于启用验证模式。 在执行该命令时,OpenSSL会作为服务器运行,等待客户端连接。然后,OpenSSL会将所收到的消息打印出来。在验证模式下,OpenSSL会尝试验证客户端发送的证书。 在验证过程,OpenSSL会使用传入的私钥证书进行验证。私钥用于解密证书的数字签名,并与证书公钥进行比对,以验证证书的真实性和完整性。 如果验证成功,OpenSSL会打印出相关验证信息。如果验证失败,OpenSSL会显示相应的错误信息,指示证书存在问题或不是一个有效的证书。 通过使用openssl s_server -msg -verify命令,我们可以方便地验证私钥证书,以确保其有效性和安全性。 需要注意的是,验证私钥证书需要在合适的环境进行,并且应该使用正确的私钥证书进行验证,以确保验证的准确性和可靠性。 ### 回答2: openssl s_server -msg -verify是一条命令,用于在openssl进行私钥证书验证。 首先,我们需要了解openssl私钥证书的概念。私钥是一种用于加密解密数据的密钥,它通常由证书颁发机构(CA)生成并颁发给特定的实体。而证书是由CA签名的包含实体公钥和其他相关信息的文件,它用于验证实体的身份。 使用openssl s_server -msg -verify命令时,我们可以在服务器模式下进行私钥证书验证。这个命令会打开一个服务器,并监听指定的端口,等待客户端连接。当客户端连接之后,服务器使用私钥证书对收到的数据进行验证。 私钥证书验证的过程如下: 1.服务器使用私钥解密收到的数据。 2.服务器使用证书验证解密后的数据的完整性和真实性。通过计算数据的散列值以及使用证书公钥验证该散列值,服务器可以确定数据是否被篡改过。 3.如果数据通过了验证,服务器会对数据进行响应。 使用openssl s_server -msg -verify命令可以方便地进行私钥证书验证,同时可以通过命令行参数调整验证的具体设置。这对于建立安全的网络连接和验证实体身份非常有用。 需要注意的是,私钥证书的安全性非常重要。私钥应该保密且仅由合法的实体使用证书应该由可信的CA签发。同时,定期更新证书私钥也是很重要的安全措施。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值