数字证书基本概念

(1)什么是证书?

 在一个电子商务系统中,所有参与活动的实体都必须用证书来表明自己的身份。证书一方面可以用来向系统中的其它实体证明自己的身份(每份证书都是经“相对权威的机构”签名的),另一方面由于每份证书都携带着证书持有者的公钥(签名证书携带的是签名公钥,密钥加密证书携带的是密钥加密公钥),所以,证书也可以向接收者证实某人或某个机构对公开密钥的拥有,同时也起着公钥分发的作用。

(2)什么是CA?

  CA是Certificate Authority的缩写,是证书授权的意思。在电子商务系统中,所有实体的证书都是由证书授权中心既CA中心分发并签名的。一个完整、安全的电子商务系统必须建立起一个完整、合理的CA体系。CA体系由证书审批部门和证书操作部门组成。

(3)什么是SSL?

  安全套接层协议(SSL,Security Socket Layer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性,主要采用公开密钥体制和X.509数字证书技术来提供安全性保证。对于电子商务应用来说, SSL可保证信息的真实性、完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作"表单签名(Form Signing)"的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。

(4)什么是RA?

  RA即证书发放审核部门,它是CA系统的一个功能组件。它负责对证书申请者进行资格审查,并决定是否同意给该申请者发放证书,并承担因审核错误引起的、为不满足资格的证书申请者发放证书所引起的一切后果,因此它应由能够承担这些责任的机构担任。

(5)什么是CP?

  CP即证书发放的操作部门,它是CA系统的一个功能组件,负责为已授权的申请者制作、发放和管理证书,并承担因操作运营错误所产生的一切后果,包括失密和为没有获得授权者发放证书等,它可以由审核授权部门自己担任,也可委托给第三方担任。

(6)什么是CRL?

  CRL是证书作废表的缩写。CRL中记录尚未过期但已声明作废的用户证书序列号,供证书使用者在认证对方证书时查询使用。CRL通常被称为证书黑名单。

(7)什么是OCSP?

  OCSP即在线证书状态查询(Online Certificate Status Protocol),使用户可以实时查询证书的作废状态。

(8)什么是密钥对,怎样使用它,怎样获得密钥对?

  像有的加密技术中采用相同的密钥加密、解密数据,公共密钥加密技术采用一对匹配的密钥进行加密、解密。每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密。

  公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。

  相反地,用户也能用自己私人密钥对数据加以处理。换句话说,密钥对的工作是可以任选方向的。这提供了"数字签名"的基础,如果要一个用户用自己的私人密钥对数据进行了处理,别人可以用他提供的公共密钥对数据加以处理。由于仅仅拥有者本人知道私人密钥,这种被处理过的报文就形成了一种电子签名----一种别人无法产生的文件。

  数字证书中包含了公共密钥信息,从而确认了拥有密钥对的用户的身份。

  大多数情况下,当你申请数字证书时,会为你产生密钥对。出于安全性考虑,密钥对应当在您的机器产生并且私人密钥不会在网上传输。

  一旦产生,就应在认证中心上登记自己的公共密钥,随后认证中心将发送给用户数字证书,以证实你的公共密钥及其他一些信息。

(9)如何确保得到我的私钥的安全?

  有以下三种保护方法:

  将私人密钥存放在自己计算机的硬盘上,这样你能控制对它的存取。

  将私人密钥存放在IC卡上,并将IC卡存放在自己可以控制的地方。

  当你产生自己的私人密钥时,你所使用的软件(如浏览器)将要求你输入一个密码,这一密码将保护对私人密钥的存取。对于微软Internet Explorer用户,私人密钥将由Windows密码加以保护。 只有在下述两种情况下,第三方可以存取您的私人密钥:

  有权存取你存放密钥的文件(常常是你的系统配置文件)。

  知道你的私人密码。有的软件允许你选择不使用密码来保护你的私人密钥。如果你选择了这项,你必须已确信,无论现在还是将来,都不会有人非法访问你的计算机。

  总而言之,使用密码要比完全以物理角度保护你的计算机方便得多。不选用密码,就像在自己的支票夹上预先签好了所有支票,并将它打开着放在办公桌上。

数字证书生成doc命令 1.1生成服务端证书 开始-运行-CMD-在dos窗口执行下执行命令: keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:/self-file/server/tomcat.keystore -dname "CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" -validity 3650 -storepass zljzlj -keypass zljzlj 说明: keytool 是JDK提供的证书生成工具,所有参数的用法参见keytool –help -genkey 创建新证书 -v 详细信息 -alias tomcat 以”tomcat”作为该证书的别名。这里可以根据需要修改 -keyalg RSA 指定算法 -keystore D:/self-file/server/tomcat.keystore 保存路径及文件名 -dname "CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" 证书发行者身份,这里的CN要与发布后的访问域名一致。但由于我们是自己发行的证书,如果在浏览器访问,仍然会有警告提示。 -validity 3650证书有效期,单位为天 -storepass zljzlj 证书的存取密码 -keypass zljzlj 证书的私钥 1.2 生成客户端证书 执行命令: keytool -genkey -v -alias client -keyalg RSA -storetype PKCS12 -keystore C:/self-file/client/client.p12 -dname "CN=client,OU=zlj,O=zlj,L=bj,ST=bj,C=CN" -validity 3650 -storepass client -keypass client 说明: 参数说明同上。这里的-dname 证书发行者身份可以和前面不同,到目前为止,这2个证书可以没有任何关系。下面要做的工作才是建立2者之间的信任关系。 1.3 导出客户端证书 执行命令: keytool ‐export ‐alias client ‐keystore D:/self-file/client/client.p12 ‐storetype PKCS12 ‐storepass client ‐rfc ‐file D:/self-file/client/client.cer 说明: -export 执行导出 -file 导出文件的文件路径 1.4 把客户端证书加入服务端证书信任列表 执行命令: keytool ‐import ‐alias client ‐v ‐file D:/self-file/client/client.cer ‐keystore D:/self-file/server/tomcat.keystore ‐storepass zljzl 说明: 参数说明同前。这里提供的密码是服务端证书的存取密码。 1.5 导出服务端证书 执行命令: keytool -export -alias tomcat -keystore D:/self-file/server/tomcat.keystore -storepass zljzlj -rfc -file D:/self-file/server/tomcat.cer 说明: 把服务端证书导出。这里提供的密码也是服务端证书的密码。 1.6 生成客户端信任列表 执行命令: keytool -import -file D:/self-file/server/tomcat.cer -storepass zljzlj -keystore D:/self-file/client/client.truststore -alias tomcat –noprompt 说明: 让客户端信任服务端证书 2. 配置服务端为只允许HTTPS连接 2.1 配置Tomcat 目录下的/conf/server.xml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值