TLS/SSL出师

名词解释

keystore : 用于存储私钥和证书的一种的文件
证书:保存了用户信息、用户公钥、CA签名等其他信息
证书链:要验证证书的合法性需要检测CA签名,而CA签名是由证书摘要经过CA私钥加密之后得到的。验证CA签名时需要拿到CA公钥,而CA公钥就是是上级证书的公钥。这样一直追溯到根证书(即自签名证书)。
X.509 :是一种证书标准,主要定义了证书中应该包含哪些内容

PKCS :The Public-Key Cryptography Standards (PKCS)由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。
PKCS#12:描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法。

二级证书的生成

1、首先生成自认证证书,从keystore中导出自签名证书
keytool -genkeypair -alias [alias] -keystore [keystorePath]
2、根据自签名证书生成证书请求
3、根据证书请求和CA 的 keystore 生成CA签名的证书
4、将CA签名的证书导入到原有keystore,并将CA的证书导入到keystore

编码格式

PEM Privacy Enhanced Mail
文本以“-----BEGIN…”开头,以“-----END…”结尾,内容是BASE64编码

DER Distinguished Encoding Rules
二进制格式

使用Java keytool 操作证书

JKS → P12

keytool -importkeystore -srckeystore keystore.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore keystore.p12

P12 → JKS

keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore keystore.jks

使用openSSL 操作证书

1、合并证书和私钥得到p12格式的个人证书
openssl pkcs12 -export -in alicecert.pem -inkey alicekey.pem -certfile cacert.pem -out alice.p12

2、从p12文件中提取私钥
openssl pkcs12 -in alice.p12 -nocerts -out alicekey.pem

生成Server私钥和证书
openssl genrsa -out server.key 1024
openssl req -out server.req -key server.key -new -config ./server_cert.conf 
openssl x509 -req -in server.req -out server.crt -sha1 -CAcreateserial -days 5000 -CA ca.crt -CAkey ca.key
生成Client私钥和证书
openssl genrsa -out client.key 1024
openssl rsa -in client.key -out TLS.key_1024 -outform DER
openssl req -out client.req -key client.key -new -config ./client_cert.conf 
openssl x509 -req -in client.req -out client.crt -sha1 -CAcreateserial -days 5000 -CA ca.crt -CAkey ca.key
生成CA私钥和证书
openssl genrsa -out ca.key 1024	
openssl req -out ca.req -key ca.key -new -config ./ca_cert.conf
openssl x509 -req -in ca.req -out ca.crt -sha1 -days 5000 -signkey ca.key
openssl x509 -in ca.crt -outform DER -out TLS.ca_x509.cer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值