数据加密类型及创建和申请CA证书

1.数据在互联网上传输必须保证以下3点特性:

私密性:  数据加密

完整性:   数据传输过程没有被人修改

身份验证: 确认对方的身份,防止中间人伪装***

2.私密性:数据加密应使用对称加密,特点速度快

代表算法有:DES,3DES,AES,AES192,AES256,AES512,Blowfish

3.完整性:通过单向加密算法,提取数据特征码,特点是雪崩效应,定长输出,不可逆等

代表算法有:MD5,SHA1,SHA192,SHA256,SHA384,CRC-32(检验)

4.身份验证:公/私钥加密:即为非对称加密码算法,产生密钥对,特点是速度慢

发送方用对方的公钥加密,接收方用自己的私钥解密,即保证数据的私密性

发送方用自己的私钥加密,接收方用对方的公钥解密,即保证数据的身份验证和私密性

代表算法有:RSA(加密/签名),DSA(签名)

5.数据传输过程有2种方法:

第一种:首先发送方与接收方通IKE协商生成对称的密钥,发送方或接收方按需各自生成一对非对称的公私钥,然后发送方对将要发送的数据,提取特征码,并用自己的私钥对特征码加密,即可保证数据的身份验证和私密性,再通过对称密钥对整个数据和特征码进行加密,即发送即可,接收方用协商成的对称密钥进行数据解密,用发送方的公钥对特征码进行解密校验完整性和身份验证

第二种:首先发送方随机生成一个随机数,发送方或接收方按需各自生成一对非对称的公私钥,然后发送方对将要发送的数据,提取特征码,并用自己的私钥对特征码加密,即可保证数据的身份验证和私密性,再通过刚生成的随机数对整个数据和特征码进行加密,并且通过对方的公钥将随机数加密,放在整个数据后面一起发送即可,接收方用自己私钥的进行解密,得到发送方的随机数,再进行解密数据,最后用发送方的公钥对特征码进行解密校验完整性和身份验证

6.CA:Certificate Authority,简称CA证书,即证书颁发机构

CA:证书格式有x509和pkcs12格式

x509主要包括:公钥及有效期限,证书合法拥有者,证书使用说明,CA自身的信息,CA的签名

PKI的实现方式有:TLS/SSL:也使用x509格式

OpenGPG:格式与x509相似

SSL:Secure Socket Layer,在应用层与传输层之间的半个层,叫做安全套接字层,也就是一种库

例如:http明文协议通过调用SSL库,变成https加密协议

由于SSL是一个公司开发,较不开放,而国际化标准组织就不舒服,应运产生更开放的加密机制TLS

TLS:Transport Layer Security,叫传输层安全

版本:TLSv1相当SSLv3版本

7.openssl工具:

7.1.openssl ? 查看opessl简单帮助 ;man enc 查看enc帮助

-e 加密,默认

-d 解密

enc 指定加密算法

-salt 加盐,产生随机数

-a: base64编码

对fstab文件加密:

openssl enc -des3 -salt -a -in fstab -out fstab.des3

对fstab文件解密:

openssl enc -des3 -d -salt -a -in fstab.des3 -out fstab

7.2.提取指纹信息及特征码:

md5sum fstab

sha1sum fstab

openssl dgst -md5 fstab

openssl dgst -sha1 fstab

     7.3.对密码进行加密或hash,由于salt不一样,同样的密码造成加密后的结果不一样

-1代表md5加密,man sslpasswd查找帮助得知:

openssl passwd -1

openssl passwd -1

openssl passwd -1 -salt

      7.4.生成指定位数的随机数,可当作密码使用

openssl rand -base64 10

openssl rand -base64 50

openssl rand -base64 100

     8.openssl创建私有CA: 要想给其他机构颁发证书,首先自己必须有证书

8.1.生成一对密钥: 密钥文件权限最好是600,man genrsa查看帮助,

以下三种方法选其一生成私钥

openssl genrsa 1024 > server.key ;   chmod 600 server.key

openssl genrsa -out server.key 1024; chmod 600 server.key

(umask 077; openssl genrsa -out server.key 1024)  #子shell运行,不影响父shell

提取公钥:从私钥中提取公钥

openssl rsa -in server.key  -pubout

8.2.生成自签名证书

openssl req -new -x509 -key server.key -out server.crt -days 365

查看证书内容:openssl x509 -text -in server.crt

8.3:创建一个完整的私有证书过程及步骤:

cd /etc/pki/CA/

(umask 077; openssl genrsa -out private/cakey.pem 1024)      #生成私钥

openssl req -new -x509 -key private/cakey.pem -out cacert.pem  #用私钥创建CA证书

mkdir certs newcerts crl

touch index.txt

touch serial

echo 01 > serial

注意:通过cat /etc/pki/tls/openssl.cnf查看创建私有CA证书所需环境

9.openssl申请证书:

例如为https服务申请一个证书,简单步骤如下:

cd /etc/httpd/ssl

(umask 077; openssl genrsa -out httpd.key 2048 )   #生成私钥

openssl req -new -key httpd.key -out httpd.csr    #用私钥申请证书,注意没有-x509

openssl ca -in httpd.csr -out httpd.crt -days 365  #CA颁发机构对证书签名

转载于:https://blog.51cto.com/willow/1772810

数据加密类型及创建和申请CA证书相关推荐

  1. 申请CA证书的费用大概是多少

    申请CA证书的费用大概是多少?在了解这个问题之前,我们先来了解一下什么是CA证书以及它有哪些作用.CA是数字证书签发机构的简称,主要负责签发证书.认证证书以及管理已经颁发的证书,SSL证书就是由CA机 ...

  2. 通过代码来申请CA证书

    最近一个项目中有关于PKI体系的搭建的内容,由于以前没有做过这部分,所以一开始一头雾水.慢慢摸索有了一丁点成果,拿出来和大家分享.说的不对的地方望能指正. PKI体系目前成了一个企业中信息化安全方面的 ...

  3. 通过代码来申请CA证书 -- cnblog

    最近一个项目中有关于PKI体系的搭建的内容,由于以前没有做过这部分,所以一开始一头雾水.慢慢摸索有了一丁点成果,拿出来和大家分享.说的不对的地方望能指正. PKI体系目前成了一个企业中信息化安全方面的 ...

  4. 创建Apache的CA证书

    自建Apache的CA证书 (环境:Centos7) PS:建议实验前把防火墙和SELinux都关掉. - 安装apache环境依赖 [root@qmfz ~]# yum -y install mod ...

  5. 新申请CA证书的有效期问题

    现在在很多服务器的部署中,为了安全,都建议我们在部署的时候采用加密的方式进行.这就需要我们使用证书服务. 在使用证书服务的时候,自带的证书有时无法满足我们的需求,如证书的有效期太短等. 管理员经常做的 ...

  6. 实现CA证书创建及客户端申请证书

    author:JevonWei 版权声明:原创作品 CA证书的相关文件路径 openssl配置文件/etc/pki/tls/openssl.cnf /etc/pki/tls/openssl.cnf C ...

  7. ca证书 linux 导入_CA搭建与证书申请

    一:创建私有CA openssl的配置文件:/etc/pki/tls/openssl.cnf 根据此配置文件创建CA dir:CA相关文件存放路径 /etc/pki/CA certs:证书存放目录 / ...

  8. HTTP HTTPS 创建CA证书

    目录 http 1.安装apache环境依赖 2.基本设置 3.配置主文件 4.配置完重启HTTP生效 https的实现 1.安装专门的mod_ssl模块 2.申请CA证书 3.编辑.conf配置文件 ...

  9. 记一次CA证书的申请、服务器上的部署过程

    1.简介 最近用docker在liberity服务器上部署了一个应用.由于安全方面的考虑,服务器管理员需要我们启用https连接.这就需要我们去给liberity配置ssl证书. 2.步骤 1.申请C ...

最新文章

  1. python process pool_python multiprocessing.Process,multiprocessing.Pool区别(不同之处)
  2. Atmosphere 1.0:支持Java/JavaScript的异步通信框架
  3. Javascript系列——对象元素的数组去重实现
  4. PHP 基础篇 - PHP 中 DES 加解密详解
  5. Unity性能优化的N种武器
  6. 用Cython加速Python到“起飞”
  7. python计算n阶乘中尾部零的个数_(Java)设计一个算法,计算出n阶乘中尾部零的个数...
  8. snap占用/dev/loop0-/dev/loop11占用100%
  9. wex5 java_[Java教程]WEX5中ajax跨域访问的几种方式
  10. 蓝牙核心规范(V5.2)7.8-深入详解之SMP(安全管理协议)|LE配对过程(1)
  11. linux 安装软件仓库,linux 软件仓库
  12. 退火算法(Annealing)简介与详解
  13. 2018人工智能发展盘点:国内各行业拥抱AI,总体呈现八大特点
  14. 22南工计算机学院新生培训最终章---ACM竞赛机制
  15. 个人认为最low的10款鞋子
  16. 工控机CF卡槽无法使用的解决方案
  17. 以STC的单片机为例A/D做按键扫描应用原理介绍
  18. 公司申请微信订阅号需要的材料及注意事项
  19. 关于Uncaught TypeError (Cannot read property ..undefined)的解决办法
  20. ElasticSearch入门

热门文章

  1. jdbc增删改查有哪些步骤_用Mybatis如何实现对数据库的增删改查步骤
  2. quot;luasql.mysqlquot;_解决mysqlquot;Access denied for user 'root'@'IP地址'quot;问题 - - ITeye博客...
  3. struts2下面如何同时使用servlet,就是如何实现struts与servlet共存
  4. Spring PropertyPlaceholderConfigurer Usage - 使用系统变量替换spring配置文件中的变量
  5. C# winform bin文件夹、obj文件夹、Properties文件夹下分别存放什么文件?
  6. shell里面比较大小
  7. gridview中如果文字太多指点要显示的文字
  8. step2 . day7 C语言阶段小的项目总结
  9. springMVC接收前端参数的方式
  10. 获取拍照图片,显示大图像