使用keyTool或OpenSSL生成ssl证书

使用jdk自带工具keyTool生成证书

1:keytool -genkey -v -alias server -keyalg RSA -keystore keystore 生成服务证书

2:keytool ‐genkey ‐v ‐alias client ‐keyalg RSA ‐storetype PKCS12 ‐keystore client.p12或keytool ‐genkey ‐v ‐alias client ‐keyalg RSA ‐storetype RSA ‐keystore client 生成客户端证书(p12证书可在浏览器中安装)

3:keytool ‐export ‐alias client ‐keystore client.p12 ‐storetype PKCS12 ‐rfc ‐file client.cer 导出客户端证书(公钥)

4:keytool ‐import ‐alias client ‐v ‐file client.cer ‐keystore keystore 把客户端证书添加到服务端证书信任列表

5:keytool -export -alias server -keystore keystore -rfc -file server.cer 导出服务端证书

6:keytool -import -file server.cer -keystore client.truststore -alias server –noprompt 生成客服端证书信任列表

②:使用OpenSSL生成证书生成pem和key证书,并使用linux系统部署

一般会有三种文件key,csr,crt

Key 是私用密钥openssl格,通常是rsa算法。

Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。

crtCA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证

1.key的生成 

openssl genrsa -des3 -out server.key 2048 

这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:    openssl rsa -in server.key -out server.key

2. 生成CAcrt

openssl req -new -x509 -key server.key -out ca.crt -days 3650 

生成的ca.crt文件是用来签署下面的server.csr文件

3. csr的生成方法

openssl req -new -key server.key -out server.csr 

需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书

4. crt生成方法

CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。

最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt

证书合并:    cat server.key server.crt > server.pem

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注