码迷,mamicode.com
首页 > 其他好文 > 详细

openssl和CA

时间:2016-07-05 19:09:03      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:openssl和ca

 

openssl

gpg

 

单向加密:

 MD4

 MD5

 SHA1

 SHA192, SHA256,SHA384

 CRC-32

 

公钥加密(非对称加密):(加密/签名)

 身份认证(数字签名)

 数据加密

 密钥交换

 

RSA: 加密,签名

DSA:签名

ELGamal

 

 

OpenSSL:SSL的开源实战

libcrpto:通用加密库

 libssl:TLS/SSL的实现

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

 openssl: 多用途命令行工具    

实现私有证书颁发机构,

 

[root@mylinux~]# openssl speed 检查当前系统所有的加密方式的加密速度

[root@mylinux~]# openssl speed des 只检查des算法

 

 

查看命令帮助

[root@mylinux~]# whatis enc

enc                  (1ssl)  - symmetric cipher routines

[root@mylinux~]# man enc

[root@mylinux~]# whatis passwd

passwd               (1)  - update user‘s authentication tokens

passwd               (5)  - password file

passwd[sslpasswd]   (1ssl)  - compute password hashes

[root@mylinux~]# man sslpasswd

[root@mylinux~]#

 

 

 

 

[root@mylinux ~]# cp /etc/inittab /tmp

[root@mylinux ~]# cd /tmp

[root@mylinux tmp]# openssl enc -des3 -salt-a -in inittab -out inittab.des3 (-des3加密算法,-a表示用Base64编码数据)

enter des-ede3-cbc encryption password:

Verifying - enter des-ede3-cbc encryptionpassword:

[root@mylinux tmp]# ls

b file.pcI  inittab  inittab.des3

[root@mylinux tmp]#

解密上面的文件。-d解密

[root@mylinux tmp]# openssl enc -des3 -d-salt -a -in inittab.des3 -out inittab

enter des-ede3-cbc decryption password:

[root@mylinux tmp]# ls

b file.pcI  inittab  inittab.des3

 

 

计算文件的特征码:

md5sum inittab 计算一个文件的Md5的校验码

 

[root@mylinux tmp]# sha

sha1sum   sha224sum  sha256sum  sha384sum sha512sum  sharesec   shasum   

[root@mylinux tmp]# sha1sum inittab

7f1a11159e1f44a5b2f2f9de2b99ab3f23e0ef1f  inittab

只要加密算法一样无论使用上面工具进行加密得到的结果都是一样。

[root@mylinux tmp]# openssl dgst -sha1inittab 

SHA1(inittab)=7f1a11159e1f44a5b2f2f9de2b99ab3f23e0ef1f

 

[root@mylinux tmp]# openssl passwd -1  -1使用MD5算法)

Password:

Verifying - Password:

$1$fy6Z3Qxz$GwSUdSuP92Dy.mRrDbTkm0   2$到第3$之间的字符为‘盐’

[root@mylinux tmp]# openssl passwd -1 -saltfy6Z3Qxz -salt 指定‘盐’)

Password:

$1$fy6Z3Qxz$GwSUdSuP92Dy.mRrDbTkm0 (相同的密码和相同的盐所产生的相同的密码串)

[root@mylinux tmp]#

 

 

openssl ? 能够查看openssl的选项

 

 

 

 

rsautl  rsa的加密解密工具

 

 

 

 

 

[root@mylinux tmp]# whatis rand

rand                 (3p)  - pseudo-random number generator

rand                 (3)  - pseudo-random number generator

rand [sslrand]      (1ssl)  - generate pseudo-randombytes

[root@mylinux tmp]# man sslrand

openssl rand –base64 生成随机数

[root@mylinux tmp]# openssl rand -base64 99  后面跟长度

 

 

 

 

openssl实现私有CA:

  1. 生成一对密钥

  2. 生成自签署证书

 

使用()的命令只对子shell有效果 ,指定私钥长度并保存到server.key文件中

[root@mylinuxtmp]# (umask 077 ; openssl genrsa 1024 >server1024.key)

 

提取公钥

[root@mylinuxtmp]# openssl rsa -in server1024.key -pubout

 

 

用密钥生成一个证书 有效期365

openssl  req –new –x509    –key  server1024.key  –out server.crt    –days 365

 

Country Name (2letter code) [XX]:CN

State or ProvinceName (full name) []:cq

Locality Name(eg, city) [Default City]:jlpq

Organization Name(eg, company) [Default Company Ltd]:cqkj

OrganizationalUnit Name (eg, section) []:IT

Common Name (eg,your name or your server‘s hostname) []:ca.mylinux.com

Email Address[]:caadmin@mylinux.com

[root@mylinuxtmp]#

 

查看证书

[root@mylinuxtmp]# openssl x509 -text -in server.crt

 

 

vi /etc/pki/tls/openssl.cnf

   配置文件

 

[root@mylinuxCA]# ls CA目录里必须要有这些文件,cacert.pem是生成的证书

cacert.pem  certs crl  index.txt  newcerts private  serial

 

制作私有CA,

/etc/pki/CA目录里执行

1  (umask 077; openssl genrsa  2048 >server2048.key )

2  openssl rsa -in server2048.key  -pubout

3  openssl req -new -x509 -key server2048.key  -out cacert.pem  -days 365

4  openssl x509 -text -in server2048.key

5  touch index.txt

6  touch serial

7  echo 01> serial

签订证书

1  cd /etc/httpd

2  mkdir httpd

3  cd httpd

4  mkdir ssl

5  cd ssl/

6  (umask 077; openssl genrsa 2048>httpd.key) 服务器端创建一对密钥

8  openssl req -new -key httpd.key  -out httpd.csr 填写一个证书

9  openssl ca -in httpd.csr-out httpd.crt -days 365  签订证书

 

 

 

 

 

 

 

 

 

 

 


本文出自 “linux运维” 博客,谢绝转载!

openssl和CA

标签:openssl和ca

原文地址:http://coolcl.blog.51cto.com/4514424/1796027

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