OpenSSL证书制作过程
Openssl生成证书步骤说明

Openssl生成证书步骤说明命令操作:1、生成普通私钥:2、生成带加密口令的密钥:在生成带加密口令的密钥时需要自己去输入密码。
对于为密钥加密现在提供了一下几种算通过生成的私钥去生成证书:在生成证书的时候需要按照提示输入一些个人信息。
通过私钥生成公钥:格式转换:(证书、私钥、公钥)(PEM <----->DER)从DER格式转换成PEM格式一样,就是把inform的格式改成DERoutform的格式改成PEM 即可。
服务器和客户端认证的证书生成下面是一个服务器和客户端认证的证书、私钥生成方法:(server.crt、client.crt、ca.crt)用默认openssl配置文件生成证书,先创建文件夹创建文件夹demoCA/newcerts:mkdir -p demoCA/newcerts创建个空文件index.txt:touch demoCA/index.txt向文件serial中写入01:echo 01 > demoCA/serial1.首先要生成服务器端的私钥(key 文件):openssl genrsa -des3 -out server.key 1024运行时会提示输入密码,此密码用于加密key 文件(参数des3 便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl 提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!去除key 文件口令的命令:openssl rsa -in server.key -out server.key2.openssl req -new -key server.key -out server.csr生成Certificate Signing Request(CSR),生成的csr 文件交给CA 签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.3.对客户端也作同样的命令生成key 及csr 文件:openssl genrsa -des3 -out client.key 1024openssl req -new -key client.key -out client.csr4.CSR 文件必须有CA 的签名才可形成证书.可将此文件发送到verisign 等地方由它验证,要交一大笔钱,何不自己做CA 呢.openssl req -new -x509 -keyout ca.key -out ca.crt5.用生成的CA 的证书为刚才生成的server.csr,client.csr 文件签名:openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.keyopenssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key现在我们所需的全部文件便生成了.另:client 使用的文件有:ca.crt,client.crt,client.keyserver 使用的文件有:ca.crt,server.crt,server.key.crt 文件和.key 可以合到一个文件里面,本人把2 个文件合成了一个.pem 文件(直接拷贝过去就行了)。
Linux下利用openssl 生成SSL证书步骤

Linux下利用openssl 生成SSL证书步骤1、概念首先要有一个CA根证书,然后用CA根证书来签发用户证书。
用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。
2、后缀详解.key格式:私有的密钥.csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request 的缩写.crt格式:证书文件,certificate的缩写.crl格式:证书吊销列表,Certificate Revocation List的缩写.pem格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式3、添加 index.txt 和 serial 文件cd /etc/pki/CA/touch /etc/pki/CA/index.txttouch /etc/pki/CA/serialecho 01 > /etc/pki/CA/serial4、CA根证书的生成4.1 生成CA私钥(.key)openssl genrsa -out ca.key 2048[root@CA]# openssl genrsa -out ca.key 2048Generating RSA private key, 2048 bit long modulus.............+++.....+++e is 65537 (0x10001)4.2 生成CA证书请求(.csr)openssl req -new -key ca.key -out ca.csr[root@CA]# openssl req -new -key ca.key -out ca.csrYou 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 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) [XX]:USState or Province Name (full name) []:ORLocality Name (eg, city) [Default City]:OROrganization Name (eg, company) [Default Company Ltd]:LXOROrganizational Unit Name (eg, section) []:LXORAQCommon Name (eg, your name or your server's hostname) []:Email Address []:eg@Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:demon2234An optional company name []:OR4.3 自签名得到根证书(.crt)(CA给自已颁发的证书)openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt[root@CA]# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt Signature oksubject=/C=US/ST=OR/L=OR/O=LXOR/OU=LXORAQ/CN=/emailAddress=eg@ Getting Private key5、用户证书的生成5.1 生成私钥(.key)openssl genrsa -des3 -out server.key 1024[root@CA]# openssl genrsa -des3 -out server.key 1024Generating RSA private key, 1024 bit long modulus........++++++...................++++++e is 65537 (0x10001)Enter pass phrase for server.key:Verifying - Enter pass phrase for server.key:5.2 生成证书请求(.csr)openssl req -new -key server.key -out server.csr[root@CA]# openssl req -new -key server.key -out server.csrEnter pass phrase for server.key: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 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) [XX]:USState or Province Name (full name) []:ORLocality Name (eg, city) [Default City]:OROrganization Name (eg, company) [Default Company Ltd]:LXOROrganizational Unit Name (eg, section) []:LXORAQCommon Name (eg, your name or your server's hostname) []:Email Address []:eg@Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:demon2234An optional company name []:OR5.3 用CA根证书签名得到证书(.crt)o penssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key[root@CA]# openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key Using configuration from /etc/pki/tls/fCheck that the request matches the signatureSignature okCertificate Details:Serial Number: 3 (0x3)ValidityNot Before: Mar 13 07:01:44 2018 GMTNot After : Mar 13 07:01:44 2019 GMTSubject:countryName = USstateOrProvinceName = ORorganizationName = LXORorganizationalUnitName = LXORAQcommonName = emailAddress = eg@X509v3 extensions:X509v3 Basic Constraints:CA:FALSENetscape Comment:OpenSSL Generated CertificateX509v3 Subject Key Identifier:11:62:12:26:6C:1C:56:CD:9D:B2:6A:65:06:24:57:27:3E:5C:BC:EAX509v3 Authority Key Identifier:DirName:/C=US/ST=OR/L=OR/O=LXOR/OU=LXORAQ/CN=/emailAddress=eg@ serial:C9:6E:10:F7:A5:40:8F:1DCertificate is to be certified until Mar 13 07:01:44 2019 GMT (365 days)Sign the certificate? [y/n]:yfailed to update database//错误提示,解决方法将/etc/pki/CA目录下的index.txt文件删除,重TXT_DB error number 2新创建一个index.txt文件。
使用OpenSSL建立根CA及自签名证书制作过程

使用OpenSSL建立根CA及自签名证书制作过程2009-12-24 11:35:32| 分类:openssl |字号订阅Openssl版本:0.9.8 版本,可从处下载。
1.先建立如下目录结构:$home/testca # testca 是待建CA的主目录├─newcerts/ # newcerts子目录将存放CA签发过的数组证书(备份目录)├─private/ # private目录用来存放CA私钥└─conf/ # conf目录用来存放简化openssl命令行参数用的配置文件此外使用命令echo "01" > serialtouch index.txt在ca根目录下创建文件serial (用来存放下一个证书的序列号) 和indext.txt (证书信息数据库文件)。
1.生成CA的私钥和自签名证书 (根证书)创建配置文件:vi "$HOME/testca/conf/gentestca.conf"文件内容如下:####################################[ req ]default_keyfile = /home/cx/testCA/private/cakey.pemdefault_md = md5prompt = nodistinguished_name = ca_distinguished_namex509_extensions = ca_extensions[ ca_distinguished_name ]organizationName = ssorganizationalUnitName = sstccommonName = sstcCAemailAddress = GChen2@ #自己的邮件地址[ ca_extensions ]basicConstraints = CA:true########################################然后执行命令如下:cd "$HOME/testca"openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 2190 -config "$HOME/testca/conf/gentestca.conf"执行过程中需要输入CA私钥的保护密码,假设我们输入密码: 888888可以用如下命令查看一下CA自己证书的内容openssl x509 -in cacert.pem -text –noout创建一个配置文件,以便后续CA日常操作中使用vi "$HOME/testca/conf/testca.conf"文件内容如下:########################################[ ca ]default_ca = testca # The default ca section[ testca ]dir = /home/cx/testCA # top dirdatabase = $dir/index.txt # index file.new_certs_dir = $dir/newcerts # new certs dircertificate = $dir/cacert.pem # The CA certserial = $dir/serial # serial no fileprivate_key = $dir/private/cakey.pem # CA private keyRANDFILE = $dir/private/.rand # random number filedefault_days = 365 # how long to certify fordefault_crl_days= 30 # how long before next CRLdefault_md = md5 # message digest method to useunique_subject = no # Set to 'no' to allow creation of# several ctificates with same subject.Policy = policy_any # default policy[ policy_any ]countryName = optionalstateOrProvinceName = optionallocalityName = optionalorganizationName = optionalorganizationalUnitName = optionalcommonName = suppliedemailAddress = optional########################################1.自己生成公钥密钥,并用测试CA签发数字证书我们在平时测试时,可以自己用openssl为服务器或用户生成公钥密钥,并用上面创建的CA签发对应私钥(密钥)的数字证书。
用OpenSSL命令行生成证书文件

用OpenSSL命令行生成证书文件证书文件生成也许很多人和本人一样深有体会,使用OpenSSL库写一个加密通讯过程,代码很容易就写出来了,可是整个工作却花了了好几天。
除将程序编译成功外(没有可以使用的证书文件,编译成功了,它并不能跑起来,并不表示它能正常使用,所以......),还需生成必要的证书和私钥文件使双方能够成功验证对方。
找了n多的资料,很多是说的很模糊,看了n多的英文资料,还是没有办法(不知道是不是外国朋友都比较厉害,不用说明得太清?),无意间找到yawl(yawl@)写的文章,难得的汉字(呵呵)。
里面有生成证书部分,说到生成了Certificate Signing Request (CSR)文件后,就有点不太清楚了。
后面生成自签字证书在很多地方都可以找到的,签名这部分,yawl说mod_ssl有比较好的脚本,但是笔者一时找不到,就自己用openssl的ca命令来完成了,也不是很麻烦。
说说本人的操作环境:无盘工作站(有权限问题使用起来不太方便),操作目录是openssl/bin(没办法改不了环境变量,如果你可以改的话,就不用在这个目录下工作了),为了方便本人把apps下的f 也复制到了这个目录下来。
文件名都是以本人使用的来说了:1.首先要生成服务器端的私钥(key文件):openssl genrsa -des3 -out server.key 1024运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!去除key文件口令的命令:openssl rsa -in server.key -out server.key2.生成Certificate Signing Request(CSR)openssl req -new -key server.key -out server.csr -config f生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.3.对客户端也作同样的命令生成key及csr文件:openssl genrsa -des3 -out client.key 1024openssl req -new -key client.key -out client.csr -config f4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.openssl req -new -x509 -keyout ca.key -out ca.crt -config f5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config fOpenssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config f现在我们所需的全部文件便生成了.另:client使用的文件有:ca.crt,client.crt,client.keyserver使用的文件有:ca.crt,server.crt,server.key.crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了)。
openssl做证书的方法 -回复

openssl做证书的方法-回复OpenSSL 是一个开源的软件包,可用于创建安全套接字层(SSL)和传输层安全性(TLS)协议的证书。
证书是用于身份验证和数据加密的数字文件。
下面将一步一步介绍OpenSSL 的使用方法来生成证书。
第一步:安装OpenSSL首先,您需要安装OpenSSL 软件包。
根据您的操作系统,可以在OpenSSL 官方网站(OpenSSL 在您的系统上可用。
第二步:生成私钥要生成证书,首先需要生成一个私钥。
私钥用于生成和验证证书,因此它必须严格保密。
您可以使用以下命令在命令行中生成私钥:openssl genpkey -algorithm RSA -out private.key此命令将使用RSA 算法生成一个私钥,并将其保存在private.key 文件中。
确保将文件保存在安全的位置,并为其设置适当的权限,以防止未经授权访问。
第三步:生成证书请求生成了私钥后,接下来需要生成证书请求。
证书请求包含您的公钥以及有关您身份的信息。
以下命令将生成证书请求:openssl req -new -key private.key -out certificate.csr在此命令中,-key 参数指定您的私钥文件,-out 参数指定将保存证书请求的文件名。
您将被要求输入与您身份相关的信息,如名称、单位、电子邮件地址等。
确保在输入这些信息时提供准确的数据。
第四步:自签名证书生成证书请求后,您可以使用OpenSSL 生成一个自签名证书。
自签名证书是由您自己颁发的,因此在一些特定情况下可能不被所有设备或应用程序接受。
但它在测试和开发环境中非常有用。
以下命令将生成自签名证书:openssl x509 -req -in certificate.csr -signkey private.key -out certificate.crt此命令使用您之前生成的私钥和证书请求来创建一个自签名证书。
最后的证书将保存在certificate.crt 文件中。
openssl制作证书流程

openssl制作证书流程OpenSSL是一个开源的加密工具包,可用于生成和管理数字证书。
下面是制作证书的基本流程:1. 安装OpenSSL:首先,确保计算机上已安装OpenSSL。
你可以从OpenSSL官方网站下载适合你操作系统的安装程序,并按照指示进行安装。
2. 创建私钥:使用以下命令在命令行中创建一个私钥文件:openssl genrsa -out private.key 2048这将生成一个2048位的RSA私钥,并将其保存在名为private.key的文件中。
私钥是保护证书的关键。
3. 生成证书请求(CSR):接下来,使用以下命令生成证书请求文件(CSR):openssl req -new -key private.key -out certificate.csr在执行此命令时,你需要提供一些相关的信息,如国家、组织名称等。
这些信息将包含在生成的CSR文件中。
4. 填写证书请求信息:执行上一步命令后,将会出现一系列问题,你需要根据实际情况回答。
其中最重要的是Common Name(通用名称),这是证书的域名。
请记住,如果你计划用于公共网站,确保输入的域名与你的网站域名完全匹配。
5. 签发证书:CSR文件是你向证书颁发机构(CA)申请证书的请求文件。
你需要将此文件上载到CA的网站或发送给CA。
该CA将根据你的请求和必要的身份验证程序签署并颁发证书。
6. 安装证书:一旦你收到证书文件,你可以通过以下命令将其与私钥文件合并:openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile ca.crt这将创建一个.pfx文件,其中包含你的私钥、证书和根CA证书。
通过以上步骤,你可以使用OpenSSL成功地制作证书。
请记住,在实际生产环境中,你可能需要购买商业证书,以确保其安全性和认可度。
openssl 证书流程 -回复

openssl 证书流程-回复OpenSSL是一个开放源代码的软件库,可以用于安全地建立和管理加密连接。
它提供了各种密码学功能,包括加密、解密、数字签名和认证等。
在网络安全领域,数字证书被广泛使用来验证服务器的身份和提供安全的通信。
本文将介绍OpenSSL的证书流程,涵盖生成证书请求、签署证书、验证证书以及使用证书等步骤。
一、生成证书请求(CSR)生成证书请求是证书颁发机构(CA)验证申请者身份的第一步。
以下是生成证书请求的步骤:1. 设置OpenSSL配置文件:OpenSSL使用配置文件来定义证书生成的各种选项。
我们可以通过编辑默认配置文件opensslf,或者创建自定义配置文件。
在配置文件中,我们可以设置一些必要的信息,例如国家、组织、通用名称(域名)等。
2. 生成私钥:生成证书请求需要一个RSA私钥对。
我们可以使用OpenSSL生成一个RSA私钥文件。
命令格式如下:openssl genrsa -out private.key 2048这将生成一个2048位的RSA私钥文件private.key。
3. 创建证书请求:接下来,我们可以使用私钥创建一个证书请求文件。
命令格式如下:openssl req -new -key private.key -out request.csr该命令将基于私钥生成一个新的证书请求文件request.csr。
二、签署证书证书签署是由CA执行的过程,用于验证证书请求者的身份并签署证书。
以下是签署证书的步骤:1. 配置CA证书在签署证书之前,我们需要设置CA证书文件,并创建一个签署配置文件。
这个配置文件定义了签署证书的选项,例如证书有效期、密钥长度等。
2. 生成CA私钥和自签名证书作为CA,我们首先需要生成自己的私钥和自签名证书。
命令格式如下:openssl req -new -x509 -keyout ca.key -out ca.crt -config caf这个命令将创建一个私钥文件ca.key和一个自签名的证书文件ca.crt。
openssl证书生成流程

openssl证书生成流程
生成OpenSSL证书的过程通常包括以下几个步骤:
1. 生成密钥对:使用OpenSSL命令行工具生成一个私钥和公钥对。
这个私钥将用于创建证书,公钥则与证书一起使用,以验证该证书是由正确的私钥签名的。
```bash
openssl genrsa -out private_ 2048
```
2. 创建证书请求:使用私钥创建一个证书请求(也称为CSR,即证书签名请求)。
这个请求将被发送给证书颁发机构(CA)或其他可信第三方进行签名。
```bash
openssl req -new -key private_ -out certificate_
```
3. 提交证书请求:将生成的CSR文件提交给CA进行签名。
CA将使用其私钥对CSR进行签名,生成一个证书。
4. 获取并安装证书:从CA获取已签名的证书,并将其安装到需要进行安全通信的服务器或客户端上。
5. 配置服务器或客户端:在服务器或客户端上配置OpenSSL,以便使用生成的证书和私钥进行安全通信。
这可能涉及将证书和私钥文件复制到适当的目录,并更新SSL配置以指向这些文件。
请注意,以上步骤是一个简化的示例,实际生成和使用OpenSSL证书的过程可能因具体情况而有所不同。
在生产环境中,建议使用受信任的证书颁发机构(CA)颁发的证书,以确保通信的安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
比亚迪培训讲义在J2EE中使用数字证书深圳市金蝶中间件有限公司2007年12月Table of Contents1 数字证书使用的场合 (3)2 数字证书的颁发 (3)2.1 概述 (3)2.2 创建自签名CA (3)2.2.1 生成ca私钥 (3)2.2.2 生成ca待签名证书 (4)2.2.3用CA私钥进行自签名,得到自签名的CA根证书 (4)2.2.4 f配置文档 (5)2.3 颁发服务器证书 (7)2.3.1 生成服务器私钥对及自签名证书 (7)2.3.2 生成服务器待签名证书 (7)2.3.3 请求CA签名服务器待签名证书,得到经CA签名的服务器证书 (8)2.3.4把CA根证书导入密钥库 mykeystore (8)2.3.5把经过CA签名的服务器证书导入密钥库mykeystore (8)2.4 颁发客户端证书 (9)2.4.1 生成客户端私钥 (9)2.4.2生成客户端待签名证书 (9)2.4.3请求CA签名客户端待签名证书,得到经CA签名的客户端证书 (10)生成客户端的个人证书client.p12 (10)2.5 CA根证书导入客户端 (11)2.6个人证书导入客户端 (11)3 在J2EE中使用证书 (11)3.1 配置SSL双向认证 (11)3.1.1 服务器端密钥库和信任库 (12)3.1.2修改Muxer服务 (12)3.1.3修改SecurityService服务 (13)3.2 在程序中获取证书信息 (13)4 练习 (13)5 附录 (14)5.1 SSL v3的处理步骤 (14)5.2 命令行调试SSL证书 (14)1 数字证书使用的场合●加密传输●机器比较固定●使用USB Key2 数字证书的颁发2.1 概述数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。
证书授权中心(CA)对证书的数字签名过程即为证书的颁发过程。
CA非常重要!企业范围内,建议自建CA,或者采用可信任的证书颁发机构的ROOT CA。
下面介绍使用Openssl()结合JDK自带的keytool工具来产生CA证书、服务器证书以及可导入浏览器的PKCS#12格式个人证书。
2.2 创建自签名CA设置系统环境变量Path指向Openssl的bin目录建立工作目录:mkdir cacd ca2.2.1 生成ca私钥openssl dsaparam -out dsaparam 1024openssl gendsa -out dsakey dsaparam2.2.2 生成ca待签名证书openssl req -new -out ca-req.csr -key dsakey -config ..\f2.2.3用CA私钥进行自签名,得到自签名的CA根证书openssl x509 -req -in ca-req.csr -out ca-cert.cer -signkey dsakey -days 365至此,自签名CA根证书制作完毕。
当前目录下将产生四个文件,分别是:●ca-cert.cer●ca-req.csr●dsakey●dsaparam2.2.4 f配置文档## SSLeay example configuration file.# This is mostly being used for generation of certificate requests.#RANDFILE= .rnd#################################################################### [ ca ]default_ca= CA_default# The default ca section#################################################################### [ CA_default ]dir = sslcerts = $dir\certscrl_dir = $dir\crldatabase = $dir\index.txtnew_certs_dir = $dircertificate = $dir\cacert.pemserial = $dir\serialcrl = $dir\crl.pemprivate_key = $dir\privkey.pemRANDFILE = $dir\privkey.rnd# For the CA policy[ policy_match ]countryName= optionalstateOrProvinceName= optionalorganizationName= optionalorganizationalUnitName= optionalcommonName= suppliedemailAddress= optional# For the 'anything' policy# At this point in time, you must list all acceptable 'object'# types.[ policy_anything ]countryName= optionalstateOrProvinceName= optionallocalityName= optionalorganizationName= optionalorganizationalUnitName= optionalcommonName= suppliedemailAddress= optional#################################################################### [ req ]default_bits= 1024default_keyfile = privkey.pemdistinguished_name= req_distinguished_nameattributes= req_attributes[ req_distinguished_name ]countryName= Country Name (2 letter code)countryName_min= 2countryName_max= 2stateOrProvinceName= State or Province Name (full name)localityName= Locality Name (eg, city)anizationName= Organization Name (eg, company) organizationalUnitName= Organizational Unit Name (eg, section) commonName= Common Name (eg, your website's domain name) commonName_max= 64emailAddress= Email AddressemailAddress_max= 40[ req_attributes ]challengePassword= A challenge passwordchallengePassword_min= 4challengePassword_max= 20[ x509v3_extensions ]# under ASN.1, the 0 bit would be encoded as 80nsCertType= 0x40#nsBaseUrl#nsRevocationUrl#nsRenewalUrl#nsCaPolicyUrl#nsSslServerName#nsCertSequence#nsCertExt#nsDataType2.3 颁发服务器证书服务器端证书用来向客户端证明服务器的身份,也就是说在SSL协议握手的时候,服务器发给客户端的证书。
生成服务器证书时用到了JDK的密钥管理工具Keytool.建立工作目录:cd ..mkdir servercd server2.3.1 生成服务器私钥对及自签名证书生成的文件将保存在密钥库mykeystore中。
keytool -genkey -alias myserver -keyalg RSA -keysize 1024 -keypass keypass -storepass keypass -dname "cn=localhost, ou=support, o=apusic, l=shenzhen, st=guangdong, c=CN" -keystore mykeystore2.3.2 生成服务器待签名证书keytool -certreq -alias myserver -sigalg SHA1withRSA -file server.csr -keypass keypass -storepass keypass -keystore mykeystore2.3.3 请求CA签名服务器待签名证书,得到经CA签名的服务器证书openssl x509 -req -in server.csr -out server-cert.cer -CA ..\ca\ca-cert.cer -CAkey ..\ca\dsakey -days 365 -set_serial 022.3.4把CA根证书导入密钥库 mykeystorekeytool -import -alias caroot -file ..\ca\ca-cert.cer -noprompt -keypass keypass -storepass keypass -keystore mykeystore2.3.5把经过CA签名的服务器证书导入密钥库mykeystorekeytool -import -alias myserver -file server-cert.cer -noprompt -keypass keypass -storepass keypass -keystore mykeystore至此,服务器证书已经生成,并且已经将服务器证书、密钥、根证书导入到了密钥库mykeystore。
本环节产生三个文件:●mykeystore●server.csr●server-cert.cer2.4 颁发客户端证书个人证书用来向服务器证明个人的身份,也就是说在SSL协议握手的时候,客户端发给服务器端的证书。
同时个人证书中包含个人信息如用户名等,如果需要,这个用户名将作为登录服务器的用户名。