编辑: bingyan8 2017-12-19

1024 (创建密钥) chmod

400 ca.key (修改权限为仅root能访问) openssl rsa -noout -text -in ca.key (查看创建的证书) 2. 利用CA密钥自签署CA证书: openssl req -new -x509 -days

3650 -key ca.key -out ca.crt chmod

400 ca.crt (修改权限为仅root能访问) openssl x509 -noout -text -in ca.crt (查看创建的证书) 3. 创建服务器证书签署申请: openssl genrsa -des3 -out client.key

1024 chmod

400 server.key (修改权限为仅root能访问) openssl rsa -noout -text -in client.key (查看创建的证书) 4. 利用证书签署申请生成请求: openssl req -new -key client.key -out client.csr openssl req -noout -text -in client.csr (查看创建的请求) 5.进行证书签署: 这时候需要先设置一下openssl的配置文件. modify /usr/share/ssl/openssl.cnf并根据这个配置文件创建相应的目录和文件. 在创建了serial文件之后,还需要添加当前的八进制的serial number,如:01 然后执行: openssl ca -keyfile ca.key -cert ca.crt -in client.csr -out client.pem 6.证书撤销: openssl ca -keyfile ca.key -cert ca.crt -revoke client.pem 这时数据库被更新证书被标记上撤销的标志,需要生成新的证书撤销列表: openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl/test.crl 查看证书撤销列表: openssl crl -noout -text -in crl/test.crl 证书撤销列表文件要在WEB站点上可以使用,必须将crldays或crlhours和crlexts加到证书中: openssl ca -gencrl -config /etc/openssl.cnf -crldays

7 -crlexts crl_ext -out crl/sopac-ca.crl 操作环境:无盘工作站(有权限问题使用起来不太方便),操作目录是openssl/bin(没办法改不了环境变量,如果你可以改的话,就不用在这个目录下工作了),为了方便本人把apps下的openssl.cnf也复制到了这个目录下来.文件名都是以本人使用的来说了: 1.首先要生成服务器端的私钥(key文件): openssl?genrsa?-des3?-out?server.key?1024 运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施! 去除key文件口令的命令: openssl?rsa?-in?server.key?-out?server.key 2.openssl?req?-new?-key?server.key?-out?server.csr?-config?openssl.cnf 生成Certificate?Signing?Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可. 3.对客户端也作同样的命令生成key及csr文件: openssl?genrsa?-des3?-out?client.key?1024 openssl?req?-new?-key?client.key?-out?client.csr?-config?openssl.cnf 4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢. openssl?req?-new?-x509?-keyout?ca.key?-out?ca.crt?-config?openssl.cnf 5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名: Openssl?ca?-in?server.csr?-out?server.crt?-cert?ca.crt?-keyfile?ca.key?-config?openssl.cnf Openssl?ca?-in?client.csr?-out?client.crt?-cert?ca.crt?-keyfile?ca.key?-config?openssl.cnf 现在我们所需的全部文件便生成了. 另: client使用的文件有:ca.crt,client.crt,client.key server使用的文件有:ca.crt,server.crt,server.key .crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了) 1. 前言 作为电子商务的安全核心SSL协议在电子商务安全性方面扮演了重要的角色.本文就是从安全技术角度介绍了以公开源代码的工具OpenSSL来实现电子商务中的安全认证过程. 2. SSL(Secure Socket Layer)协议及其主要技术 1996年由美国Netscape公司开发和倡导的SSL协议,它是目前安全电子商务交易中使用最多的协议之一,它被许多世界知名厂商的Intranet和Internet网络产品所支持. SSL应用在Client和Server间安全的Web HTTP通信,URL以https开始替代http,并使用443端口进行通信.它主要使用加密机制、数字签名、数字摘要、身份认证、CA认证技术提供Client和Server之间的秘密性、完整性、认证性三种基本的安全服务. 3. 用OpenSSL工具实现安全认证 目前,国外主流的电子商务安全协议在核心密码算法上都有出口限制,如只允许40位或56位的RC4和512位的RSA算法出口等.这样的算法强度引进后无法满足我国电子商务实际应用当中的安全需求.但是,完全自主定义和开发一套安全标准体系不是一蹴而就的事情,需要人、财、物的长期投入. 因此,如何对国外主流的电子商务安全协议的安全模块进行改造,用国内先进的密码算法替换其相应的安全强度不够的算法,变为国产的强安全协议,这样就能较好地提高我国电子商务安全技术水平. 在SSL未提供源代码的情况下,由澳大利亚软件工程师Eric Young与Tim Hudson联合开发的OpenSSL恰好解决了这一难题.它不仅能实现SSL的所有功能,支持目前所有基于SSL V2/V3和TSL V1的应用软件,而且由于源代码公开和提供了各种加密算法,完全可以满足国外安全协议引进后的本地化改造需求. 下面就用OpenSSL提供的强大功能在FreeBSD平台下进行手工签署证书的过程. ⑴ 先建立一个 CA 的证书,首先为 CA 创建一个 RSA 私用密钥: # OpenSSL genrsa -des3 -out ca.key

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题