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 root@192.168.1.1:/root 

    ④在CA主机上签署证书

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

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


 

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

openssl命令用法的更多相关文章

  1. openssl命令行工具简介 - 指令x509

    原文链接: http://blog.csdn.net/allwtg/article/details/4982507 openssl命令行工具简介 - 指令x509 用法:           open ...

  2. openssl的用法

    Openssl详细用法: OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及 ...

  3. systemctl命令用法详解

    systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...

  4. cpio命令用法

    [转自]流浪妖精のSKY    http://www.cnitblog.com/flutist1225/articles/18974.html cpio命令用法 cpio命令     利用cpio 可 ...

  5. shutdown命令用法

    首先我们先创建一个txt文件,添加shutdown -r -f -t 0 ,文件点击另存为,选择所有类型,保存格式为“重启.bat”文件. 说明:shutdown命令用法: /r         关闭 ...

  6. linux中comm命令用法

    linux系统中comm命令用法详解 linux系统下的comm命令是一个非常实用的文件对比命令. comm命令功能:   选择或拒绝两个已排序的文件的公共的行. comm命令语法:comm [-12 ...

  7. OpenSSL命令系列

    1.1 ssl命令系列前言 openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖 ...

  8. Ubuntu kill命令用法详解

    转自:Ubuntu kill命令用法详解 1. kill   作用:根据进程号杀死进程   用法: kill [信号代码] 进程ID   root@fcola:/# ps -ef | grep sen ...

  9. install 命令用法详解

    install 命令用法详解 http://man.linuxde.net/install install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似 ...

随机推荐

  1. C# 中Join( )的理解

    在MSDN中对Join( )的解释比较模糊:在继续执行标准的 COM 和 SendMessage 消息泵处理期间,阻塞调用线程(线程A),直到某个线程终(线程B)止为止. 首先来看一下有关的概念: 我 ...

  2. sublimetext 使用正则表达式匹配中文

    [\x{4e00}-\x{9fa5}] ============================================= 参考资料 1.在javascript下正确的\x4e00-\x9fa ...

  3. ssh远程连接错误

    在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁止,并弹出如下类似提示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  4. SpringMVC学习系列(1) 之 初识SpringMVC

    1.前言: 与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题.由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论 ...

  5. bzoj3745: [Coci2015]Norma

    Description Input 第1行,一个整数N: 第2~n+1行,每行一个整数表示序列a. Output 输出答案对10^9取模后的结果. 预处理每个位置的数作为最小/大值向左延伸的最大距离, ...

  6. [Tex学习]WinEdit 常用软件快捷键

    WinEdit 常用软件快捷键 编辑: Alt+C:在剪贴板原有复制文本后增加新的被选择的文本. Ctrl+Shift+Alt+Right/Left:对选中文本增加或者删除Comment标记. Ctr ...

  7. centos中rabbitmq的安装及php支持

    转自:http://www.phpac.com/741.html 1.安装rabbitmq-c库和codegen配件 wget https://github.com/alanxz/rabbitmq-c ...

  8. gerrit 解决中文乱码相关配置(转载)

    From:http://www.cnblogs.com/Jerryshome/archive/2012/04/19/2457170.html 计划在团队中采用code review,因为一直是用git ...

  9. Android API Guides 学习笔记---Application Fundamentals(一)

    今天开始学习google官网上的API guides ,主要读了Application Fundamentals这一章节,此章节介绍了一个App的基本组成,共包括四大部分内容. 1.      App ...

  10. Linux下ejabberd安装配置

    1.下载Ejabberd安装包 wget http://www.process-one.net/downloads/ejabberd/2.1.13/ejabberd-2.1.13-linux-x86_ ...