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  签订证书

时间: 2024-07-30 20:31:30

openssl和CA的相关文章

加密、解密的原理及Openssl创建CA和ssh的基础应用

加密.解密的原理及Openssl创建CA和ssh的基础应用 随着互联网的不断发展和技术的不断成熟,在互联网上传输文件不在安全,在需要传送重要的数据时就必须加密处理. 密码算法分为三种:分别是对称加密,公钥加密,单向加密:以及需要对加密算法的认证,叫做认证协议.下面为大家概述对称加密,公钥加密,单向加密及认证协议 对称加密: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密. 需要对加密和解密使用相同密钥的加密算法.由于其速度快,对称性

Openssl 创建CA和申请证书

Openssl 创建CA和申请证书 =============================================================================== 概述: 本章是上篇加密解密技术的续,主要介绍Openssl创建CA.申请证书.办法证书的整个操作,具体内容如下: 创建私有CA: 给节点颁发证书: 吊销证书  详情查看上篇加密解密技术:http://1992tao.blog.51cto.com/11606804/1856438 ============

Linux之加密解密基础、openssl及CA基础应用

加密解密基础简介 数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡改 (2)数据的机密性:防止文件数据泄漏给未授权用户从而让其利 (3)数据的可用性:保证授权用户能按需访问存取文件数据 因此加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密).加密技术包括两个元素:算法和密钥.算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来

Openssl建立CA,在组织内部基于ca的认证

Openssl建立CA,在组织内部基于ca的认证 1.给自己生成一对密钥 2.自签署证书 节点:1.生成密钥对   2.申城证书签署请求    3.把请求发送给CA CA: 1.验证请求者信息     2.签署证书 一.建立CA服务器 /etc/pki/CA/private用于存放CA的私钥 1.(umask 077:openssl genrsa -out /etc/pki/private/cakey.pem 2048)   生成密钥 2.req -x509 自签署证书,常用于CA自己签署自己的

使用OpenSSL实现CA证书的搭建过程

什么是CA CA,Catificate Authority,通俗的理解就是一种认证机制.它的作用就是提供证书(也就是服务端证书,由域名,公司信息,序列号,签名信息等等组成)来加强客户端与服务器端访问信息的安全性,同时提供证书的发放等相关工作.国内的大部分互联网公司都在国际CA机构申请了CA证书,并且在用户进行访问的时候,对用户的信息加密,保障了用户的信息安全.理论上来说,任何组织或者个人都可以扮演CA的角色,只不过,难以得到客户端的信任,不能推而广之,最典型应用莫过于12306网站,这个网站就是

通过openssl建立CA

1 CA简介   CA是证书的签发机构,它是PKI的核心.CA是负责签发证书.认证证书.管理已颁发证书的机关.它要制定政策和具体步骤来验证.识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权.比如Alice和Bob通信,中间通信万一被黑客C监听到,冒充Alice和Bob,这样信息就会泄密,这时候通过CA来验证双方身份的真实性.证书内容包括1,证书的持有者的相关信息2,CA的相关信息3,证书的使用方法4,公钥信息PKI-public key instruction 公钥基础设

openssl创建CA、申请证书及其给web服务颁发证书

一.创建私有的CA   1)查看openssl的配置文件:/etc/pki/tls/openssl.cnf   2)创建所需的文件 touch /etc/pki/CA/index.txt   echo 01 >/etc/pki/CA/serial 3)CA自签证书生成私钥 cd /etc/pki/CA (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048) 4)生成自签名证书 openssl req -new -x50

openssl 构建CA及加密解密

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用.主要通过在传输层与应用层间构建SSL安全套接字层实现安全传输.可选择通过SSL层进行加密传输,需要事先建立通信通道的层 加密算法和协议: 1.对称加密 特性: 1.加密.解密使用同一密钥: 2.将明文分隔成固定大小的块,逐个进行加密: 缺陷: 1.       密钥过多: 2.        密码分发方式: 3.    常见算法: DES:Dat

SSL及使用openssl实现CA

TLS如何实现各种功能?数据如何加密在网络上传输? 网景(Netscape)公司在应用层和传输层加入了半层,把这个半层称之为SSL,SSL不是软件,可以理解是一个库,当http交给tcp层之前先通过ssl进行封装,所以http就成为https,ftp变为ftps等.SSL有三个版本V1.V2.V3,目前只有V2.V3在用. 由于SSL是私有的,所以国际化组织开发出TLS(安全传输协议)用于在两个通信之间提供保密性和数据完整性.TLSv1=SSLv3 SSL协议结构 SSL协议本身可以分为两层:底