OpenSSL命令行工具

数据的加密解密对于Linux系统来说,是至关重要的一个概念,必须懂的对数据进行保护,上次我们详细说了关于数据加密的种种方式,如公钥加密,单向加密,密钥交换等,以及认证机构CA的存在;而OpenSSL命令就是一个可以帮助我们实现公钥加密,创建私钥,并根据私钥创建出公钥;还可以进行单向加密,生成随机数,对用户的密码进行加密操作;还有一点,就是可以利用OpenSSL自己认证生成私人CA,用户可以根据OpenSSL命令生成CA请求证书,并将此证书发给有公信力的CA进行认证,产生一个CA证书用来证明用户;

openssl enc:加密解密命令,可以指定加密算法加密文件;

in filename:加密文件路径;

out filename:输出的加密文件路径;

-ciphername:算法名称,des3,des,aes,rc4;

-e:加密;

-d:解密;

-a/-base64:纯文本格式的加密;

-salt:随机盐;

加密实例:

解密实例:

openssl rand:生成随机数

-hex:生成十六进制的随机数;

-base64:生成纯文本格式的随机数;

实例:

openssl dgst:单向加密,只能加密,不能解密;

-ciphername:指定单向加密算法,sha,md5等;

实例:

openssl passwd:用户密码加密;

openssl passwd -1 -salt (盐可自写)

openssl passwd [-1] [-salt string]

实例:

openssl genrsa:公钥加密,首先创建私钥;

-out filename:将私钥放入文件中;

私钥文件最好是将权限设置为600,这样其他用户就无法访问修改,只有创建这个私钥文件的用户  可以访问修改;

实例:

设置权限:

openssl rsa:根据私钥文件生成公钥

一个私钥只能生成同一种公钥,除非私钥文件遭到修改,否则公钥文件不会产生变化;

-in filename:私钥文件作为输入;

-out filename:公钥文件作为输出;

实例:

建立私有的CA

建立一个私有的CA文件首先要创建几个固定的CA配置文件,这些配置文件都是在CA专有的配置文件中有对应的位置的,如果要修改文件名的话,也要将CA专有的配置文件/etc/pki/tls/openssl.cnf中的文件名;

目录级文件:

/etc/pki/CA/certs

/etc/pki/CA/newcerts

/etc/pki/CA/crl

文本级文件:

/etc/pki/CA/index.txt

/etc/pki/CA/serial

需要在文件serial中输入01,其余文件如果没有就创建,放空即可;

CA创建的公钥私钥必须放在指定路径下的文件中;

公钥:/etc/pki/CA/cacert.pem

私钥:/etc/pki/private/cakey.pem

创建CA私钥:

生成自检的证书

openssl req -new -x509 -key filename -out filename

-new:生成一个新的证书;

-x509:当是CA生成这个自签证书时使用x509;

-key:CA的私钥;

-out filename:输出的公钥文件即自签证书;

-days:自签证书的有效期限,以天为单位;

实例:

CA对外来用户的证书申请,需要经过严格的审核,而在审核过后,CA就可以通过openssl ca来对用户签发证书,证书完成后,发送给用户即可;

用户的证书申请的生成也同CA的证书生成一样,都是使用openssl req生成的;

用户将自己生成的证书,发送给CA

openssl ca -in 用户证书路径 -out 生成的用户证书路径 -days 有效期限

时间: 2024-10-09 22:44:25

OpenSSL命令行工具的相关文章

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

原文链接: http://blog.csdn.net/allwtg/article/details/4982507 openssl命令行工具简介 - 指令x509 用法:           openssl x509 [-inform DER|PEM|NET] [-outform DER|PEM|NET]            [-keyform DER|PEM][-CAform DER|PEM] [-CAkeyform DER|PEM]            [-in filename][-o

MySQL 命令行工具之 mysqldump

mysqldump 是MySQL的一个命令行工具,用于逻辑备份.可以将数据库和表的结构,以及表中的数据分别导出成:create database, create table, insert into的sql语句.当然还可以导出 存储过程,触发器,函数,调度事件(events).不管是程序员,还是DBA都会经常使用的一个工具. 1. mysqldump --help mysqldump 的选项很多,我们看一下他的帮助: mysqldump Ver 10.13 Distrib 5.6.26, for

Openssl命令行用法简介

去年推出的一些文章中曾介绍过使用openssl命令行完成SHA1.DES.RSA等运算的方法.但其实openssl支持的加解密.签名验签.摘要算法远不止这些.根据不同的应用场景,用户可以自行选择需要的功能.本期介绍如何查阅openssl指令用法.第一步:查看openssl支持哪些算法指令命令行输入openssl --help回车可见图1所示,列出了包括签名验签.证书操作.摘要运算.加解密运算等相关指令.图1第二步:查看某一具体指令用法我们以aes-128-ecb指令为例进行说明.该指令可以实现对

Vue命令行工具vue-cli

前面的话 Vue.js 提供一个官方命令行工具,可用于快速搭建大型单页应用.该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程.只需几分钟即可创建并启动一个带热重载.保存时静态检查以及可用于生产环境的构建配置的项目 .本文将详细介绍Vue命令行工具vue-cli 概述 Vue-cli是Vue官方提供的用于初始化Vue项目的脚手架工具.使用Vue-cli有以下几大优势 1.Vue-cli是一套成熟的vue项目架构设计,会跟着Vue版本的更迭而更新 2.Vue-cli提供了一套本地的热加载的

MSSQL-Scripter,一个新的生成T-SQL脚本的SQL Server命令行工具

这里向大家介绍一个新的生成T-SQL脚本的SQL Server命令行工具:mssql-scripter.它支持在SQL Server.Azure SQL DB以及Azure SQL DW中为数据库生成CREATE和INSERT T-SQL脚本. Mssql-scripter是一个跨平台的命令行工具,功能等同于SQL Server Management Studio中的Generate and Publish Scripts Wizard. 咱们能够在Linux.macOS和Windows上使用它

windows下的命令行工具babun

什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是A Windows shell you will love! babun的几个特点 使用babun无需管理员权限先进的安装包管理器(类似于linux上面的apt-get或yum)预先配置了Cygwin和很多插件拥有256色的兼容控制台HTTP(S)的代理支持面向插件的体系结构可以使用它来配置你的gi

显示器 Linux 性能 18 (一个命令行工具传递)

对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并执行是多么的不easy.基于此原因.我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每一个Linux/Unix 系统管理员的工作.这些命令行工具能够在各种Linux系统下使用.能够用于监控和查找产生性能问题的解决办法.这个命令行工具列表提供了足够的工具.您能够挑选适用于您的监控场景的工具. 1.Top-Linux进程监控

附录一 6. 使用命令行工具

附录一 6. 使用命令行工具 在 Windows 的 Server Core 模式,由于没有图形界面,必须通过命令行配置 Windows 防火墙. 6.1 启用一个程序 netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes netsh advfirewall firewall add r

C#的命令行工具

?在最开始学java的时候我们一般用 记事本 + 命令行,在命令行里边进行编译和运行, C#也有类似的东西(csc工具),在学习C#语言的时候可以用 文本编辑器来编写代码,然后用C#的命令行工具来编译和运行 这个命令行工具的位置在: 开始-->所有程序-->Microsoft Visual Studio 2012 -->-->Visual Studio Tools --> VS2012开发人员命令提示 执行 csc  源代码.cs 这样就会在源代码的相同目录生成可执行文件