Linux学习笔记<二十五>——openssl服务

openssl服务:SSL的开源实现,官方站点 www.openssl.org

组成:

libcrypto:通用加密库

libssl:TLS/SSL的实现库

基于会话的,实现了身份认证,数据机密性和会话完整性的TLS/SSL库

openssl:多用途命令工具

可以实现私有证书颁发机构

openssl常用子命令:

openssl version:查看openssl的版本

[[email protected] named]# openssl version
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

openssl speed 单向加密算法:单向加密算法测速

[[email protected] named]# openssl speed md5 
Doing md5 for 3s on 16 size blocks: 4905896 md5‘s in 3.00s
Doing md5 for 3s on 64 size blocks: 4222480 md5‘s in 2.99s
Doing md5 for 3s on 256 size blocks: 2771350 md5‘s in 3.00s
Doing md5 for 3s on 1024 size blocks: 1160221 md5‘s in 3.00s
Doing md5 for 3s on 8192 size blocks: 178612 md5‘s in 3.00s
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
built on: Wed Jan 18 10:10:56 EST 2012
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) aes(partial) blowfish(idx) 
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -I/usr/kerberos/include -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=generic -fasynchronous-unwind-tables -Wa,--noexecstack -DOPENSSL_USE_NEW_FUNCTIONS -fno-strict-aliasing -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The ‘numbers‘ are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5              26164.78k    90380.84k   236488.53k   396022.10k   487729.83k

openssl enc

-加密算法

-e:加密

-d:解密

-salt:加盐,默认选项

-a:加密结果进行base64转换,解密前先进行base64解码

-in /path/to/file:指定输入文件,默认为标准输入

-out /path/to/file:指定输出文件,默认为标准输出

例子:openssl enc -des3 -e -salt -a -in /etc/inittab -out ~/inittab.des3

openssl dgst -单向机密算法 /path/to/file

例子:openssl dgst -sha1 /etc/inittab

[[email protected] named]# openssl dgst -sha1 /etc/inittab
SHA1(/etc/inittab)= 78ef239097844c223671e99a79d6b533dced8d3b

openssl passwd -# -salt xxxxxxxx:生成加密密码串

[[email protected] named]# openssl passwd -1 -salt 12345678
Password: 
$1$12345678$C3C9l9H37oIWJAgmmNMUr0

opensslrand -base64 #:生成#位的随机数

[[email protected] named]# openssl rand -base64 10
QDasm9KQTvntgQ==
[[email protected] named]# openssl rand -base64 10
nNyIpygE2Qmnsg==

openssl genrsa #:指定输出#位的密钥,默认512位

-out /path/to/file:指定输出文件

x509证书内包含的内容:

公钥信息

证书有效期

证书合法拥有者的信息

证书用途和该如何被使用

CA的信息

CA的签名

openssl实现私有CA:

1.服务器端生成CA自签署证书

cd /etc/pki/CA

(umask 077;openssl genrsa -out private/cakey.pem #):在指定目录生成#位的私钥文件,默认512位

openssl req -new -x509 -key /private/cakey.pem -out cacert.pem:生成CA自签署证书

openssl x509 -text -in cacert.pem:查看证书

mkdir certs newcerts crl

touch index.text serial

echo 01 > serial

2.客户端生成证书请求

cd /etc/httpd/ssl

(umask 077;openssl genrsa -out httpd.key #):生成客户端的私钥文件

openssl req -new -key httpd.key -out httpd.csr:生成客户端的证书请求

3.服务器端签署客户端的证书请求,并发回给客户端

openssl ca -in httpd.csr -out httpd.crt:签名指令

时间: 2024-11-06 22:35:33

Linux学习笔记<二十五>——openssl服务的相关文章

Linux学习笔记&lt;二十五&gt;——openssh服务

ssh:Secure SHell ssh特点: 基于TCP22号端口: 密文认证: 密文传输数据 openssh是ssh的开源实现,支持ssh v1和ssh v2 但ssh v1无法解决中间层攻击,建议不要使用 客户端: Linux:ssh Windows:putty,SecureCRT,SSHSecureShellClient,Xmanager 服务器端: Linux:sshd openssh相关命令 1.ssh -X:enable X11 forwarding -Y:enable trust

Linux学习笔记&lt;二十九&gt;——http服务

基础概念: HTTP:Hyper Text Transfer Protocol 超文本传输协议 versions: HTTP/0.9:只接收GET一种请求方法,只支持纯文本 HTTP/1.0:支持PUT.POST.DELETE和HEAD,支持MINE HTTP/1.1:在HTTP/1.0的基础上,增加了缓存功能,支持长连接,支持管道方式同时                  发送多个请求 HTTP请求方法:获取资源的方法 HTTP/0.9:GET HTTP/1.0:PUT(修改服务器上的内容),

马哥学习笔记二十五——ISCSI协议,架构及其安装配置

ISCSI监听在tcp/3260端口 iSCSI Target:iscsi-target-utils 客户端认正方式: 1.基于IP 2.基于用户,CHAP tgtadm:命令行工具,模式化命令 --mode 常用模式:target,logicalunit,account target --op new.delete.show.update.bind.unbind logicalunit --op new.delete account --op new.delete.bind.unbind --

Android学习笔记二十五之ListView多布局实现

Android学习笔记二十五之ListView多布局实现 这一节是介绍ListView这个控件的最后一节,实现一个Item的多布局.像我们经常在用的各种即时通讯工具,QQ.微信等,假设他们的会话界面是ListView实现的,那么ListView就有多种Item布局,这一节,我们就来实现一个ListView的多种Item. 要实现ListView里面有多种Item,就要重写适配器的两个方法getViewTypeCount()和getItemViewType(int position),第一个方法是

angular学习笔记(二十五)-$http(3)-转换请求和响应格式

本篇主要讲解$http(config)的config中的tranformRequest项和transformResponse项 1. transformRequest: $http({ transformRequest: function(data){ //对前台发送的data进行处理 return data } }) 这个在测试的时候遇到了很大的问题.只要经过transformRequest函数处理,哪怕是不做任何处理,node后台都会报错,需要尝试使用php 2. transformResp

linux学习笔记-第十五课-日常管理(二)

一.抓包工具,分析工具 抓包工具 : tcpdump 格式 : tcpdump [-AennqX] [-i 接口] [-w 储存档名] [-c 次数] [-r 档案] [所欲撷取的封包数据格式] 常用选项 : -A :封包的内容以 ASCII 显示,通常用来捉取 WWW 的网页封包资料.    -e :使用资料连接层 (OSI 第二层) 的 MAC 封包数据来显示:    -nn:直接以 IP 及 port number 显示,而非主机名与服务名称    -q :仅列出较为简短的封包信息,每一行

Java基础学习笔记二十五 MySQL

MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 create database 库名 character set 编码 mysql> create database mybase; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+

linux学习笔记-第二十五课-NFS与FTP

一.NFS NFS是Network File System的缩写,即网络文件系统. NFS服务器安装 1.NFS服务器主要的软件是rpcbind(rhel 5中的版本叫portmap)和nfs-utils rpcbind:是RPC主程序,负责NFS端口的监听. nfs-utils:是NFS主程序 我们只有通过yum或者RPM来安装就可以 2.启动NFS [[email protected] ~]# service nfs start 启动 NFS 服务:                     

Linux学习笔记&lt;二十六&gt;——DNS服务器

DNS(Domain Name System 域名系统):提供Internet上域名到IP地址的映射 域名:又叫主机名,FQDN(Full Qualified Domain Name完全限定域名) 基本信息: Linux中通常使用bind服务来提供DNS服务器 应用层协议 基于UDP53端口号:用于查询 基于TCP53端口号:用于主从服务器同步数据 基于TCP953端口号:rndc用于远程控制DNS服务器 解析方式: 正向:FQDN <--> IP 反向:IP <-->FQDN 解