openssl和CA

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openssl和CA相关的知识,希望对你有一定的参考价值。

 

openssl

gpg

 

单向加密:

 MD4

 MD5

 SHA1

 SHA192, SHA256,SHA384

 CRC-32

 

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

 身份认证(数字签名)

 数据加密

 密钥交换

 

RSA: 加密,签名

DSA:签名

ELGamal

 

 

OpenSSL:SSL的开源实战

libcrpto:通用加密库

 libssl:TLS/SSL的实现

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

 openssl: 多用途命令行工具    

实现私有证书颁发机构,

 

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

[[email protected]~]# openssl speed des 只检查des算法

 

 

查看命令帮助

[[email protected]~]# whatis enc

enc                  (1ssl)  - symmetric cipher routines

[[email protected]~]# man enc

[[email protected]~]# whatis passwd

passwd               (1)  - update user‘s authentication tokens

passwd               (5)  - password file

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

[[email protected]~]# man sslpasswd

[[email protected]~]#

 

 

 

 

[[email protected] ~]# cp /etc/inittab /tmp

[[email protected] ~]# cd /tmp

[[email protected] 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:

[[email protected] tmp]# ls

b file.pcI  inittab  inittab.des3

[[email protected] tmp]#

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

[[email protected] tmp]# openssl enc -des3 -d-salt -a -in inittab.des3 -out inittab

enter des-ede3-cbc decryption password:

[[email protected] tmp]# ls

b file.pcI  inittab  inittab.des3

 

 

计算文件的特征码:

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

 

[[email protected] tmp]# sha

sha1sum   sha224sum  sha256sum  sha384sum sha512sum  sharesec   shasum   

[[email protected] tmp]# sha1sum inittab

7f1a11159e1f44a5b2f2f9de2b99ab3f23e0ef1f  inittab

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

[[email protected] tmp]# openssl dgst -sha1inittab 

SHA1(inittab)=7f1a11159e1f44a5b2f2f9de2b99ab3f23e0ef1f

 

[[email protected] tmp]# openssl passwd -1  -1使用MD5算法)

Password:

Verifying - Password:

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

[[email protected] tmp]# openssl passwd -1 -saltfy6Z3Qxz -salt 指定‘盐’)

Password:

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

[[email protected] tmp]#

 

 

openssl ? 能够查看openssl的选项

 

 

 

 

rsautl  rsa的加密解密工具

 

 

 

 

 

[[email protected] tmp]# whatis rand

rand                 (3p)  - pseudo-random number generator

rand                 (3)  - pseudo-random number generator

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

[[email protected] tmp]# man sslrand

openssl rand –base64 生成随机数

[[email protected] tmp]# openssl rand -base64 99  后面跟长度

 

 

 

 

openssl实现私有CA:

  1. 生成一对密钥

  2. 生成自签署证书

 

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

[[email protected]]# (umask 077 ; openssl genrsa 1024 >server1024.key)

 

提取公钥

[[email protected]]# 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[]:[email protected]

[[email protected]]#

 

查看证书

[[email protected]]# openssl x509 -text -in server.crt

 

 

vi /etc/pki/tls/openssl.cnf

   配置文件

 

[[email protected]]# 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的主要内容,如果未能解决你的问题,请参考以下文章

自建私有CA

创建私有CA

CA搭建与证书申请

CA搭建与证书申请

apache配置CA证书通过https通信

加密和安全