基于 OpenSSL 的 CA 建立及证书签发

上传人:飞*** 文档编号:40347786 上传时间:2018-05-25 格式:DOCX 页数:10 大小:24.31KB
返回 下载 相关 举报
基于 OpenSSL 的 CA 建立及证书签发_第1页
第1页 / 共10页
基于 OpenSSL 的 CA 建立及证书签发_第2页
第2页 / 共10页
基于 OpenSSL 的 CA 建立及证书签发_第3页
第3页 / 共10页
基于 OpenSSL 的 CA 建立及证书签发_第4页
第4页 / 共10页
基于 OpenSSL 的 CA 建立及证书签发_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基于 OpenSSL 的 CA 建立及证书签发》由会员分享,可在线阅读,更多相关《基于 OpenSSL 的 CA 建立及证书签发(10页珍藏版)》请在金锄头文库上搜索。

1、基于基于 OpenSSL 的的 CA 建立及证书签发建立及证书签发建立建立 CA建立建立 CA 目录结构目录结构按照 OpenSSL 的默认配置建立 CA ,需要在文件系统中建立相应的目录结构。相关的配置内容一般位于 /usr/ssl/f 内,详情可参见 config (1) 。在终端中使用如下命令建立目录结构:$ mkdir -p ./demoCA/private,newcerts $ touch ./demoCA/index.txt $ echo 01 ./demoCA/serial产生的目录结构如下:. - demoCA/|- index.txt|- newcerts/|- privat

2、e/- serial 生成生成 CA 证书的证书的 RSA 密钥对密钥对首先,我们要为 CA 建立 RSA 密钥对。打开终端,使用如下命令生成 RSA 密钥对:$ openssl genrsa -des3 -out ./demoCA/private/cakey.pem 2048参数解释参数解释 genrsa用于生成 RSA 密钥对的 OpenSSL 命令。-des3使用 3-DES 对称加密算法加密密钥对,该参数需要用户在密钥生成过程中输入一个口令用于加密。今后使用该密钥对时,需要输入相应的口令。如果不加该选项,则不对密钥进行加密。-out ./demoCA/private/cakey.pem

3、令生成的密钥对保存到文件 ./demoCA/private/cakey.pem 。2048RSA 模数位数,在一定程度上表征了密钥强度。该命令输出如下,用户应输入自己的密钥口令并确认:Generating RSA private key, 2048 bit long modulus .+ .+ e is 65537 (0x10001) Enter pass phrase for ./demoCA/private/cakey.pem: Verifying - Enter pass phrase for ./demoCA/private/cakey.pem: 生成生成 CA 证书请求证书请求为了获

4、取一个 CA 根证书,我们需要先制作一份证书请求。先前生成的 CA 密钥对被用于对证书请求签名。$ openssl req -new -days 365 -key ./demoCA/private/cakey.pem -out careq.pem参数解释参数解释 req用于生成证书请求的 OpenSSL 命令。-new生成一个新的证书请求。该参数将令 OpenSSL 在证书请求生成过程中要求用户填写一些相应的字段。-days 365从生成之时算起,证书时效为 365 天。-key ./demoCA/private/cakey.pem指定 ./demoCA/private/cakey.pem 为

5、证书所使用的密钥对文件。-out careq.pem令生成的证书请求保存到文件 careq.pem 。该命令将提示用户输入密钥口令并填写证书相关信息字段,输出如下:Enter pass phrase for ./demoCA/private/cakey.pem:You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name

6、or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter ., the field will be left blank.-Country Name (2 letter code) AU:CNState or Province Name (full name) Some-State:ZJLocality Name (eg, city) :HZOrganization Name (eg, company) I

7、nternet Widgits Pty Ltd:Some Ltd. Corp.Organizational Unit Name (eg, section) :Some UnitCommon Name (eg, YOUR name) :SomeoneEmail Address :Please enter the following extra attributesto be sent with your certificate requestA challenge password :An optional company name : 对对 CA 证书请求进行签名证书请求进行签名在实际应用中,

8、用户可以通过向知名 CA 递交证书请求来申请证书。但是在这里,我们需要建立的是一个根 CA ,只能由我们自己来对证书请求进行签名。所以我们让 OpenSSL 使用证书请求中附带的密钥对对该请求进行签名,也就是所谓的“ self sign ”:$ openssl ca -selfsign -in careq.pem -out cacert.pem参数解释参数解释 ca用于执行 CA 相关操作的 OpenSSL 命令。-selfsign使用对证书请求进行签名的密钥对来签发证书。-in careq.pem指定 careq.pem 为证书请求文件。-out ./demoCA/cacert.pem指定

9、./demoCA/cacert.pem 为输出的证书。该命令要求用户输入密钥口令并输出相关证书信息,请求用户确认:Using configuration from /usr/lib/ssl/fEnter pass phrase for ./demoCA/private/cakey.pem:Check that the request matches the signatureSignature okCertificate Details:Serial Number: 2 (0x2)ValidityNot Before: Jan 16 13:05:09 2008 GMTNot After : J

10、an 15 13:05:09 2009 GMTSubject:countryName = CNstateOrProvinceName = ZJorganizationName = Some Ltd. Corp.organizationalUnitName = Some UnitcommonName = SomeoneemailAddress = X509v3 extensions:X509v3 Basic Constraints:CA:FALSENetscape Comment:OpenSSL Generated CertificateX509v3 Subject Key Identifier

11、:75:F5:3C:CC:C1:5E:6D:C3:8B:46:A8:08:E6:EA:29:E8:22:7E:70:03X509v3 Authority Key Identifier:keyid:75:F5:3C:CC:C1:5E:6D:C3:8B:46:A8:08:E6:EA:29:E8:22:7E:70:03Certificate is to be certified until Jan 15 13:05:09 2009 GMT (365 days)Sign the certificate? y/n:y1 out of 1 certificate requests certified, c

12、ommit? y/nyWrite out database with 1 new entriesData Base Updated 一步完成一步完成 CA 证书请求生成及签名证书请求生成及签名以上两个步骤可以合二为一。利用 ca 命令的 -x509 参数,通过以下命令同时完成证书请求生成和签名从而生成 CA 根证书:$ openssl req -new -x509 -days 365 -key ./demoCA/private/cakey.pem -out ./demoCA/cacert.pem参数解释参数解释 req用于生成证书请求的 OpenSSL 命令。-new生成一个新的证书请求。该参

13、数将令 OpenSSL 在证书请求生成过程中要求用户填写一些相应的字段。-x509生成一份 X.509 证书。-days 365从生成之时算起,证书时效为 365 天。-key ./demoCA/private/cakey.pem指定 cakey.pem 为证书所使用的密钥对文件。-out ./demoCA/cacert.pem令生成的证书保存到文件 ./demoCA/cacert.pem 。该命令输出如下,用户应输入相应的字段:Enter pass phrase for ./demoCA/private/cakey.pem:You are about to be asked to enter

14、 information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter ., the field will be left blank.-Country

15、Name (2 letter code) AU:CNState or Province Name (full name) Some-State:ZJLocality Name (eg, city) :HZOrganization Name (eg, company) Internet Widgits Pty Ltd:Some Ltd. Corp.Organizational Unit Name (eg, section) :Some UnitCommon Name (eg, YOUR name) :SomeoneEmail Address :至此,我们便已成功建立了一个私有根 CA 。在这个过程中,我们获得了一份 CA 密钥对文件 ./demoCA/private/cakey.pem 以及一份由此密钥对签名的 CA 根证书文件 ./demoCA/cacert.pem ,得到的 CA 目录结构如下:.|- careq.pem- demoCA/|- cacert.pem|- index.txt|- index.txt.attr|- index.txt.old|- newcerts/| - 01.pem|- private/| - cakey.pem|- serial- serial.old注:如果在 CA 建立过程中跳过证书请求生成的步骤,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

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