用 openssl 签发CA

  rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso">

步骤:html

1、              建立一个目录,名称为CAtomcat

1.       生成CA密钥ui

#openssl genrsa –des3 –out ca.key 2048spa

Enter password phrase for ca.key: 123456orm

 

2.       生成CA根证书server

#openssl req –new –x509 –days 3650 –key ca.key –out ca.crtxml

Enter password phrase for ca.key: 123456htm

Country Name: CNblog

State or Province: Jiangsuip

Locality Name: Wuxi

Organization Name: Nfschina-Wuxi

OU: eGovernDept

CN: NfschinaCA

Email: ca@nfs-wuxi.com

 

此时已经生成CA密钥文件ca.keyCA根证书ca.crt

 

3.       查看密钥和证书

1)      查看密钥

#openssl rsa – noout –text –in ca.key

2)      查看根证书

#openssl x509 –noout –text –in ca.crt

 

2、              Tomcat建立SSL链接密钥以及服务端证书

1.       建立目录结构



2.       更新文件内容

1)      设置index.txt文件为空文件

2)      serial文件内容是合法的16进制数字,例如0001

#echo –n 0001 > serial

 

3.       tomcat生成SSL密钥

#keytool –genkey –alias tomcat_server –validity 3650 –keyalg RSA –keysize 1024 –keypass 123456 –storepass 123456 –keystore keystore/192.168.0.180.key

First and last name: 192.168.0.180

                      :eGovernDept

                      :Nfschina-Wuxi

                      :Wuxi

                      :Jiangsu

                      :CN

       此时192.168.0.180.key密钥文件已经存放在keystore目录下

 

4.       生成证书申请

#keytool –certreq –alias tomcat_server –sigalg MD5withRSA –file csr/192.168.0.180.csr –keypass 123456 –storepass 123456 –keystore keystore/192.168.0.180.key

此时192.168.0.180.csr证书申请文件在csr目录下

 

5.       CA根证书为tomcat_ssl签署证书

#openssl ca –in csr/192.168.0.180.csr –out crt/192.168.0.180.crt –keyfile ../CA/ca.key –notext –cert ../CA/ca.crt –config /etc/ssl/openssl.cnf

此时192.168.0.180.crt证书文件已经存放在crt目录下了

 

6.       CA根证书和tomcat_ssl证书植入到tomcat_ssl_server密钥文件中

#keytool –import –v –trustcacerts –alias NfschinaCA –file …/CA/ca.crt –storepass 123456 –keystore keystore/192.168.0.180.key

#keytool –import –v –alias tomcat_server –file crt/192.168.0.180.crt –storepass 123456 –keystore keystore/192.168.0.180.key

此时keystore/192.168.0.180.key中已经包含了根证书和刚刚为其签发的证书

利用下面这条命令能够查看

#keytool –list –v –keystore keystore/192.168.0.180.key

 

注意:

       上述3个别名tomcat_server应该保持一致,由于它生成密钥时,密钥文件中已经默认存放一个自签名的证书,最后一步导入证书使用相同的别名能够覆盖,不然在tomcat进行ssl链接时指定该默认证书

 

3、              生成客户端证书

1.       生成私钥

#openssl genrsa –des3 –out keystore/jinjian.key 1024

此时生成了私钥

利用下面这条命令能够查看私钥

#openssl rsa –noout –text –in keystore/jinjian.key

 

2.       生成签证请求

#openssl req –new –days 3650 –key keystore/jinjian.key –out csr/jinjian.csr –config /etc/ssl/openssl.cnf

 

注意:

       修改/etc/ssl/openssl.cnf文件

a)       修改默认认证时间

default_days = 365 à default_days = 3650

b)      修改默认CA匹配策略

[policy_match]

countryName                = match         à   countryName                      = optional

stateOrProvinceName    = match         à    stateOrProvinceName   = optional

organizationName           = match         à    organizationName         = optional

organizationalUnitName   = optional       à    organizationUnitName    = optional

commonName               = supplied       à    commonName                     = optional

emailAddress                 = optional       à    emailAddress                = optional

c)      AU à CN

[req_distinguished_name]

countryName_default      = optional       à    countryName_default     = optional

3.       CA和私钥签名

#openssl ca –in csr/jinjian.csr –out crt/jinjian.crt –cert ../CA/ca.crt –keyfile ../CA/ca.key –notext –config /etc/ssl/openssl.cnf

利用这条命令查看证书

#openssl x509 –in crt/jinjian.crt –noout –text

 

4.       将私钥和证书合成PKCS12格式

#openssl pkcs12 –export –inkey keystore/jinjian.key –in crt/jinjian.crt –out crt/jinjian.p12