码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2015-08-20 10:47:12      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:linux学习 openssl ca

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

组成:

libcrypto:通用加密库

libssl:TLS/SSL的实现库

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

openssl:多用途命令工具

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


openssl常用子命令:

    openssl version:查看openssl的版本

[root@localhost named]# openssl version
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008


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

[root@localhost 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

[root@localhost named]# openssl dgst -sha1 /etc/inittab
SHA1(/etc/inittab)= 78ef239097844c223671e99a79d6b533dced8d3b


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

[root@localhost named]# openssl passwd -1 -salt 12345678
Password: 
$1$12345678$C3C9l9H37oIWJAgmmNMUr0

    

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

[root@localhost named]# openssl rand -base64 10
QDasm9KQTvntgQ==
[root@localhost 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:签名指令



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

标签:linux学习 openssl ca

原文地址:http://chenqiyi.blog.51cto.com/8125763/1686289

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!