搭建CA服务器的两种方式

1, 直接生成私钥和证书

openssl req -new -x509 -keyout ca.key -out ca.crt   
# 生产一个新的根证书和私钥


然后 进行认证
openssl genrsa -out client.key                      # 生成客户端私钥
openssl req -new -key client.key -out client.csr    # 生成客户端证书认证申请
 
openssl ca -in client.csr -out client.cer -cert ca.cer -keyfile ca.key -config openssl.cnf  
# 用第一步的根证书和私钥 对客户端申请签名, 最终生成的证书就是客户端证书

 

2, 先生成私钥 private.key

用私钥生成自签名的证书,

openssl genrsa -out mypvk.pem  # 生成私钥

openssl req -new -keymypvk.pem  -out rootCA.csr  #申请生成证书

openssl ca -selfsign -in rootCA.csr  # 字签名生成根证书

 

其他的用法

从证书中提取公钥(pubkey)
openssl x509 -in ca.crt -inform PEM -out ca.der -outform DER
显示公钥跟证书信息:  
openssl x509 -in ca.crt -pubkey

生成rsa密钥
openssl genrsa -des3 -out prikey.pem
去除掉密钥文件保护密码
openssl rsa -in prikey.pem -out prikey.pem
分离出公钥
openssl rsa -in prikey.pem -pubout -out pubkey.pem(获取证书中的公钥 openssl req -in myreq.pem  -out -pubkey.pem)
对文件进行签名
open rsautl -sign -inkey prikey.pem -in a.txt -out sig.dat
验证签名
openssl rsautl -verify -inkey prikey.pem -in sig.dat
用公钥对文件加密
openssl rsautl -encrypt -pubin -inkey pubkey.pem -in a.text -out b.text
用私钥解密
openssl rsautl -decrypt -inkey prikey.pem -in b.text
用证书中的公钥加密 
opensll rsautl -encrypt -certin -inkey cert1.pem -in a.txt

或者 
生成一个没有加密的ca私钥
openssl genrsa -out ca.key.pem 1024
生成ca对应的csr文件
openssl req -new -key ca.key.pem -out ca.csr
自签名
openssl x509 -in ca.csr -out ca.cer -req -signkey ca.key.pem -days 7300 -extensions v3_ca
生成DER格式的私钥
openssl pkcs8 -topk8 -inform PEM -outform DER -in ca.key.pem -out ca.private.der -nocrypt
读取证书的内容,显示在屏幕上
openssl x509 -in server.cer -noout -subject  -nameopt RFC2253
将der格式的证书转成pem格式
openssl  x509  -inform PEM  -outform DER -in server.der -out server.pem

查看SSL加密通信过程
ssldump -a -A -H -i en0
-A -H 显示SSL记录层头,-a显示TCP连接状态

openssl客服端:
openssl s_client -connect mail.prefetch.net:443 -state -nbio

参考:
http://prefetch.net/articles/debuggingssl.html

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值