linux证书生成工具,Linux下用Openssl生成证书

1. 首先建立CA密钥:

openssl genrsa -des3 -out ca.key 1024

(创建密钥)

chmod 400 ca.key (修改权限为仅root能访问)

openssl rsa -noout -text -in

ca.key (查看创建的证书)

2. 利用CA密钥自签署CA证书:

openssl req -new -x509 -days 3650

-key ca.key -out ca.crt

chmod 400 ca.crt (修改权限为仅root能访问)

openssl x509

-noout -text -in ca.crt (查看创建的证书)

3. 创建服务器证书签署申请:

openssl genrsa -des3

-out client.key 1024

chmod 400 server.key (修改权限为仅root能访问)

openssl rsa

-noout -text -in client.key (查看创建的证书)

4. 利用证书签署申请生成请求:

openssl req

-new -key client.key -out client.csr

openssl req -noout -text -in client.csr

(查看创建的请求)

5.进行证书签署:

这时候需要先设置一下openssl的配置文件。

modify

/usr/share/ssl/openssl.cnf并根据这个配置文件创建相应的目录和文件。

在创建了serial文件之后,还需要添加当前的八进制的serial

number,如:01

然后执行:

openssl ca -keyfile ca.key -cert ca.crt -in client.csr

-out client.pem

6.证书撤销:

openssl ca -keyfile ca.key -cert ca.crt

-revoke client.pem

这时数据库被更新证书被标记上撤销的标志,需要生成新的证书撤销列表:

openssl ca -gencrl

-keyfile ca.key -cert ca.crt -out crl/test.crl

查看证书撤销列表:

openssl crl

-noout -text -in

crl/test.crl

证书撤销列表文件要在WEB站点上可以使用,必须将crldays或crlhours和crlexts加到证书中:

openssl

ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext -out

crl/sopac-ca.crl

如果想使用DSA算法而不是RSA算法,那么:

1.先生成dsa参数

openssl

dsaparam -rand -genkey -out dsa.pem 1024

查看生成的DSA参数

openssl dsaparam

-noout -text -in dsa.pem

2.根据生成的DSA参数来生成DSA密钥

openssl gendsa -des3

-out ca.key dsa.pem

查看DSA密钥

openssl dsa -noout -text -in

ca.key

下面的步骤同RSA部分

前面生成私钥时都使用了des3来加密,其实也可以指定-des用des加密,当然强度就没有des3高了。虽然man里面说还可以通过指定-idea用idea算法来加密,可是事实上由于米国专利的问题,默认是不支持的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值