openssl命令用法

Posted 林纳克斯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openssl命令用法相关的知识,希望对你有一定的参考价值。

openssl命令

  配置文件:/etc/pki/tls/openssl.cnf

  命令格式:

    openssl command [ command_opts ] [ command_args ]

  众多子命令,常用有以下几项:

    1.对称加密

      openssl enc -[e/d] [-a] [-salt] -Cipher -in /PATH/TO/SOMEFILE -out /PATH/TO/SOMEFILE

        -e:加密

        -d:解密

        -a:将数据变为base64编码

        -salt:添加随机数

        -Cipher:加密的算法

    示例:

openssl enc -e -a -des3 -in test.txt -out test3.txt //加密test.txt
openssl enc -d -a -des3 -in test3.txt -out test1.txt  //解密test3.txt

   2.单向加密

     openssl dgst -Cipher /PATH/TO/SOMEFILE

    示例:

openssl dgst -md5 test.txt  
MD5(test.txt)= 83c16453b40e59f283211be8fa57d990 //加密结果

   3.公钥加密

    ①生成私钥

      (umask 077;openssl genrsa -out /PATH/TO/SOMEFILE NUM_BITS(位数,只能是2的倍数))

    示例:

(umask 077;openssl genrsa -out test.key 1024)

     ②提取公钥

      openssl rsa -in /PATH/TO/SOMEFILE -pubout

   4.加密用户密码

    openssl passwd -1 -salt PASSWORD

   5.生成随机数

    openssl rand -base64/-hex(16进制数字) NUM(字节数)


 

如何构建私有CA   

  1.在服务器主机生成证书

    ①生成私钥

(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 1024)

    ②生成证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365

    ③为证书提供所需的目录和文件

mkdir -pv /etc/pki/CA/{certs,ctl,newcerts}
touch /etc/pki/CA/{serial,index.txt}
echo 01 > /etc/pki/CA/serial  //将序列号写入此文件

  2.在客户端生成证书签署请求

    ①客户端主机生成私钥

(umask 077;openssl genrsa -out /root/mykey.key 1024)

    ②生成证书签署请求

openssl req -new -key /root/mykey.key -out /root/mykey.csr -days 365

    ③将证书签署请求通过可靠的方式发给CA主机

scp /root/mykey.csr [email protected]:/root 

    ④在CA主机上签署证书

openssl ca -in /root/mykey.csr -out /root/mykey.crt -days 365

    ⑤将签好的证书再次发给请求签证的客户端即可


 

查看证书信息命令:openssl x509 -in /root/mykey.crt -noout -serial -subject

以上是关于openssl命令用法的主要内容,如果未能解决你的问题,请参考以下文章

OpenSSL的命令行用法,以及参数大全

openssl命令详解

openssl用法详解

openssl用法详解

openssl用法详解

OpenSSL命令系列