一、

加密方法

 dsaffdfd
fgggg

1.对称加密:
加密算法 + 口令
加密算法:
    DES(56bits),3DES(用des加密反复加密三次),AES(128bits),Blowfish
特性:

    加密法,加密/解密方使用同一个口令
    把数据分成块,然后进行加密
面临问题:
    密钥交换 -》解决:DH算法
    用户身份认证
    数据完整性
2.非对称加密:
  加密算法:
    RSA,EIGamal,DSA(只能签名不能加密)
  一般而言,先用对称加密算法对数据进行加密,然后再用非对称加密把口令加密
  密钥交换
  用户身份认证
  数据完整性
3.单向加密:
抽取数据特征码:
MD5(128bits),SHA1(160bits),SHA512,CRC-32(512bits)

以上实现工具: openssl,gpg

二、openssl

1.openssl:套件,开源程序
    libcrypto:通用功能的加密库
    libssl:用于实现TLS/SSL的功能
    openssl:多功能命令工具
         生成密钥、创建数字证书、手动加密解密数据

2.加密解密技术常用的功能及算法
a.对称加密:
算法:DES(56bits),3DES(用des加密反复加密三次),AES(128bits),Blowfish
实现工具:gpg,openssl enc
例:openssl enc
# openssl enc -des3 -a -salt -in /root/a.txt -out /tmp/a.jiami 加密
# openssl enc -d -des3 -a -salt -in /tmp/a.jiami -out /tmp/a.new 解密
b.单向加密:
算法:MD5(128bits),SHA1(160bits),SHA512,CRC-32(512bits)
实现工具:sha1sum,md5sum,cksum,openssl dgst
c.非对称加密:
非对称加密一般只做密钥交换,用户身份验证
密钥对:
   公钥:pkey
   私钥:skey
工具:gpg,openssl rsautl
数字证书:
  证书格式:x509,pkcs
  x509格式:
       公钥和有效期限
       持有者的个人合法身份信息
       证书的使用方式
       CA的信息
       CA的数字签名
谁给CA发证书,CA要证书有什么用?
  自签证书,CA证书包含CA的公钥,主机请求的到后,验证用户使用

三、用openssl实现私有CA
配置文件:/etc/pki/tls/openssl.cnf
[root@ca CA]# pwd
/etc/pki/CA
[root@ca CA]# tree
.
├── certs #签署证书目录
├── crl #吊销证书目录
├── newcerts
└── private

1、生成密钥对:
[root@ca ~]# cd /etc/pki/CA/
[root@ca CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus
............+++
...............................................................................+++
e is 65537 (0x10001)
[root@ca CA]# ls private/
cakey.pem
[root@ca CA]# openssl rsa -in private/cakey.pem -pubout -text -noout #查看公钥

openssl使用的更多相关文章

  1. RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密

    最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...

  2. 显示本地openssl支持的加密算法

    参考页面: http://www.yuanjiaocheng.net/webapi/parameter-binding.html http://www.yuanjiaocheng.net/webapi ...

  3. 非阻塞/异步(epoll) openssl

    前段时间在自己的异步网络框架handy中添加openssl的支持,当时在网络上搜索了半天也没有找到很好的例子,后来自己慢慢的摸索,耗费不少时间,终于搞定.因此把相关的资料整理一下,并给出简单的例子,让 ...

  4. PHPmailer关于Extension missing: openssl报错的解决

    最近在写一个网页的时候,需要用到PHPmailer来发送邮件,按照官网上给出的demo写出一个例子,却报错Extension missing: openssl 最后发现需要修改php.ini中的配置: ...

  5. openssl、x509、crt、cer、key、csr、ssl、tls 这些都是什么鬼?

    今天尝试在mac机上搭建docker registry私有仓库时,杯具的发现最新的registry出于安全考虑,强制使用ssl认证,于是又详细了解linux/mac上openssl的使用方法,接触了一 ...

  6. Windows10下安装OpenSSL

    Windows10下安装的方法 安装环境:Windows10专业版+VS2013 工具:ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi,下载地址:http: ...

  7. CentOS升级openssl

    才设置了http2,结果蓝狗说我网站不安全,检测一下发现openssl有漏洞,于是准备升级一下openssl 检测网站: www.ssllabs.com/ssltest/analyze.html # ...

  8. openssl+前端jsrsa签名+后端nodejs验签

    内容如标题所示,总体分为三个部分: 一.win10下安装openssl,然后通过openssl工具生成RSA的公钥和私钥 (1)win10下安装openssl需要的工具有:VS2013,Perl,na ...

  9. openssl用法详解

    OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls openssl可以 ...

  10. Nginx 1.10.1 编译、配置文档(支持http_v2,TLSv1.2,openssl v1.0.2)

    1.安装常用工具及基础包: [root@localhost /]# yum -y install wget git vim make gcc gcc-c++ openssl-devel [root@l ...

随机推荐

  1. HDU 2783 You’ll be Working on the Railroad(最短路)

    You’ll be Working on the Railroad Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/3276 ...

  2. C++析构函数的自动调用(析构函数必须是虚拟的,这样删除父类指针指向的子类对象,才能同时调用两者的析构函数,否则就没有机会调用子类析构函数)

    class A {public: A() { printf("A \n"); } ~A() { printf(" ~A \n"); } // 这里不管写不写vi ...

  3. RMAN备份与恢复 —— 完全恢复与不完全恢复

    名词解释: 顾名思义,完全恢复就是指数据没有丢失的恢复了.不完全恢复是指恢复后有部分数据丢失.它们是数据库的两种恢复方式.        完全恢复:利用重做日志或增量备份将数据块恢复到最接近当前时间的 ...

  4. 创建带标签页的MDI WinForms应用程序

    http://www.cnblogs.com/island/archive/2008/12/02/mditab.html 创建MDI应用程序 先创建”Windows窗体应用程序”解决方案Tabable ...

  5. ORACLE之字符集修改(10g)

    当从oracle服务器将数据导出成dmp文件后,再导入到本地的oracle数据库时,出现: IMP-00019: 由于 ORACLE 错误 12899 而拒绝行 IMP-00003: 遇到 ORACL ...

  6. HBase的访问方式

    这里只介绍三种最常用的方式 1.HBase shell HBase的命令行工具是最简单的接口,主要用于HBase管理 首先启动HBase 帮助 hbase(main):001:0> help 查 ...

  7. python面向对象的三大特征--继承子类调用父类方法

    #在子类中调用父类方法 class Vehicle: country="China" def __init__(self,name,speed,load,power): self. ...

  8. tar shell zip

    tar          打包后生成的文件名全路径                    要打包的目录 tar -czPf xx/script.tar.gz                      ...

  9. ffmpeg参数

    a) 通用选项 -L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t durat ...

  10. Redis分布式锁【正确实现方式】

    前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...