openssl生成证书及吊销列表

上传人:第*** 文档编号:32692076 上传时间:2018-02-12 格式:DOC 页数:7 大小:38.50KB
返回 下载 相关 举报
openssl生成证书及吊销列表_第1页
第1页 / 共7页
openssl生成证书及吊销列表_第2页
第2页 / 共7页
openssl生成证书及吊销列表_第3页
第3页 / 共7页
openssl生成证书及吊销列表_第4页
第4页 / 共7页
openssl生成证书及吊销列表_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《openssl生成证书及吊销列表》由会员分享,可在线阅读,更多相关《openssl生成证书及吊销列表(7页珍藏版)》请在金锄头文库上搜索。

1、openssl 生成证书及吊销列表一,先来讲讲基本概念。证书分类:按类型可以分为 CA 证书和用户用户证书,我们我说的 root 也是特殊的 CA 证书。用户证书又可以根据用途分类,放在服务器端的称为服务器证书,放在客户端一般称为客户端证书(这种说法不是很准确,只是一种理解。实际应该是在对客户端认证时才会用到客户端证书且 root、ca 证书都可以放在客户端),记住,这两种证书都应为用户证书。一般可以理解为证书由 key 和证书(没有 key 的文件也称为证书)组成,谁拥有这两个东西才真正拥有这个证书。好比锁是有钥匙和锁头组成的,你得两都有。你只有锁头锁住东西,却没有钥匙打开,也没什么用。如果

2、你对证书不了解,那一定要知道证书这三点作用(纯个人认为比较重要三点):1,签名:通过签名技术可以保证证书拥有者的唯一性,而且所有信息没有被篡改。想了解数字签名的自己百度一下。2,提供公钥:通过签名技术知道证书拥有者是 A,且所有信息都是 A,就可以拿到 A 的公钥算法及公钥。所以有些人理解为证书就是一个公钥(个人认为这种理解与实际偏差较大)。3,颁发者:找到颁发者很重要,每个证书都有一个颁发者。这个在证书认证时用得到。对于用户(人)来说还是通过证书名称来区分证书,下面讲解几种常见的证书。a).cert 或.crt 文件:这种证书倒是可以理解为公钥证书,因为它最主要的作用就是来提供公钥的,只是一

3、种理解,签名认证这些作用一样不会少。这种文件不含有 key,就好像一个打开的锁头,可以发给任何人。所以拥有.cer 或.crt 文件的不是真正的拥有者,因为你可以用证书里的公钥加密,但并没有私钥解密。b).pfx 文件:这种证书文件可以理解为.cer 文件与 key 结合体,即拥有.pfx 证书相当同时拥有公钥与私钥。即可以加密也可以解密。c).key 文件:就是钥匙啦。锁头可以给任何人,但是钥匙只能自己保留,所以这玩意一定要保存好。d).p7b 文件:为证书链文件,也不含私钥。证书链即证书的拥有者、颁发者、颁发者的颁发者、依次类推的证书合成一个文件。以上对证书概念基础的了解,有基础的可以不用

4、看。实际证书分类根据编码方式来区分的,只是为了方便理解才这么分的。当我们需要向对方发送加密数据时,我们只需要对方的 cer 或 crt 文件就可以了。而需要对方向自己发送加密数据时,自己得拥有 key,并且对方要有自己公钥(从 cer 文件获得)。二、环境搭建安装 openssl 这个就不讲了,现在很多 linux 版本都默认安装了。先来看下配置文件中一段。默认配置文件/usr/local/openssl/ssl/f 或者/etc/pki/tls/f。dir = ./demoCA # Where everything is keptcerts = $dir/certs # Where the

5、issued certs are keptcrl_dir = $dir/crl # Where the issued crl are keptdatabase = $dir/index.txt # database index file.#unique_subject = no # Set to no to allowcreation of#several ctificates with same subject.new_certs_dir = $dir/newcerts # default place for new certs.certificate = $dir/cacert.pem #

6、 The CA certificateserial = $dir/serial # The current serial numbercrlnumber = $dir/crlnumber # the current crl number# mustbe commented out to leave a V1 CRLcrl = $dir/crl.pem # The current CRLprivate_key = $dir/private/cakey.pem# The private keyRANDFILE = $dir/private/.rand # private random number

7、 file根据上面配置文件就知道,我们得搭建相同的目录结构环境。先创建一个目录 test,并且将 1, 配置文件 cp 到 test 目录下。iyunvlocalhost # mkdir testiyunvlocalhost # cd testiyunvlocalhost test# cp/usr/local/openssl/ssl/f ./iyunvlocalhost test# f2, 根据配置文件中目录结构可知有个 demoCA 目录,目录下有各种文件。iyunvlocalhost test# mkdir ./demoCA./demoCA/newcerts ./demoCA/privat

8、eiyunvlocalhost test# chmod 777./demoCA/privateiyunvlocalhost test# echo01./demoCA/serialiyunvlocalhost test# touch./demoCA/index.txt生成证书暂时用到这么多,其他可以先不创建,用到时再作修改。环境目录结构如下:iyunvlocalhost test# tree. demoCA certs index.txt private newcerts f3, 环境搭建很重要的东西就修改配置文件了。这里只是实现生成证书,不讲解配置文件。所以只需要修改如下一句就可以了。dir

9、= ./demoCA # Where everything is kept将路径改为实际绝对路径。我这里就是/root/test/demoCA,所以修改后就是:dir = /root/test/demoCA # Whereeverything is kept三、整体步骤openssl genrsa -des3 out server.key 1024/生成 keyopenssl req -new key server.key -outserver.csr -config f/生成 csr 文件openssl req -new -x509 -keyoutca.key -outca.crt -con

10、fig f/自生成 CA(root)openssl ca -in server.csr out server.crt-cert ca.crt -keyfile ca.key -config f/签名penssl pkcs12 -export -inkeyserver.key -inserver.crt -out server.pfx/合成 pfx 格式四、具体生成证书步骤将以生成服务器端证书为例讲解1,生成私钥文件,保存为 server.key。使用的 3des 算法,密钥长度为 2048。iyunvlocalhost test# openssl genrsa -des3-out server

11、.key 2048Generating RSA private key, 2048 bit longmodulus.+.+e is 65537 (0x10001)Enter pass phrase for server.key: #输入秘密Verifying - Enter pass phrase forserver.key: #输入秘密iyunvlocalhost test# lsdemoCA f server.key2,生成证书签名申请文件(csr)。保存为 server.csriyunvlocalhost test# openssl req -new-key server.key -ou

12、t server.csr -config fEnter pass phrase for server.key: #输入第 1 步输入的密码You are about to be asked to enterinformation that will be incorporatedinto your certificate request.What you are about to enter is what iscalled a Distinguished Name or a DN.There are quite a few fields but you canleave some blank

13、For some fields there will be a defaultvalue,If you enter ., the field will be leftblank.-Country Name (2 letter code) AU:cnState or Province Name (full name)Some-State:bjLocality Name (eg, city) :hdOrganization Name (eg, company) InternetWidgits Pty Ltd:Organizational Unit Name (eg, section):testCo

14、mmon Name (e.g. server FQDN or YOUR name):Email Address :Please enter the following extraattributesto be sent with your certificate requestA challenge password : #这里可以不输入An optional company name : #这里可以不输入iyunvlocalhost test# lsdemoCA f server.csr server.key3,有申请文件,要有个机构来签名,实际是将 server.csr 文件提供给第三方可信任机构签名就可以。这里为了演示,将自生成 CA(root)。证书保存为 root.crt,key 保存为 root.key。iyunvlocalhost test# openssl req -new-x509 -keyout root.key -out root.crt -config fGenerating a 1024 bit RSA private key.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号