SSL缺省只进行server端的认证,客户端的认证是可选的。以下是其流程图(摘自TLS协议)。

加密算法介绍:

  对称加密:

      DES:date encrption standard,56bit

      3DES:

      AES: Advanced

          AES192,AES256,AES512

      Blowfish

  单向加密

    MD4,MD5

    SHA1, SHA192,SHA256,SHA384

    CR3-32

  公钥加密:(加密和签名)

    身份认证(数字签名)

    数据加密

    密钥交换

   RSA:加密、签名

   DSA:签名

   ELGamal

OpenSSL:SSL的开源实现

  libcrypto: 加密库

  libssl:  TLS/SSL的实现

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

  openssl:多用途命令行工具

    实现私有证书颁发机构

子命令

测试opensll对加密算法支持的速度 speed: openssl speed des

加密和解密 enc  (man enc)

  加密(encrypted)

openssl enc -des3 -salt -a -in inittab -out inittab.des3     #inittab是被加密的文件
  解密(decrypted )

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

提取信息的特征码(SHA、MD5)

openssl dgst -md5 inittab
openssl dgst -sha1 inittab

加密密码 (通过whatis passwd,可以得知应该man sslpasswd)

aaarticlea/png;base64,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" alt="" />

第一个$表示加密算法,第二个$表示salt

生成随机数

openssl rand -base64  15

openssl实现私有CA

证书其实包含三部分,用户的信息,用户的公钥,还有CA中心对该证书里面的信息的签名,要验证一份证书的真伪(即验证CA中心对该证书信息的签名是否有效),需要用CA 中心的公钥验证,而CA中心的公钥存在于对这份证书进行签名的证书内,故需要下载该证书,但使用该证书验证又需先验证该证书本身的真伪,故又要用签发该证书的证书来验证,这样一来就构成一条证书链的关系,这条证书链在哪里终结呢?答案就是根证书,根证书是一份特殊的证书,它的签发者是它本身,下载根证书就表明您对该根证书以下所签发的证书都表示信任,而技术上则是建立起一个验证证书信息的链条,证书的验证追溯至根证书即为结束。所以说用户在使用自己的数字证书之前必须先下载根证书。

1.生成一对密钥

1.1生成私钥(公钥是从私钥中提取而来)

openssl genrsa -out server.key 2048    #或者:openssl genrsa 2048 > server.key

1.2 赋权

chmod 600 server.key

1.3 提取公钥

openssl rsa -in server.key -pubout

2.生成自签证书

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

aaarticlea/png;base64,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" alt="" />

查看证书信息

openssl x509 -text -in server.crt

参考:https://segmentfault.com/a/1190000002554673

最新文章

  1. Collection集合的功能及总结
  2. 【WP 8.1开发】如何动态生成Gif动画
  3. CSS 中背景图片定位方法
  4. Hazelcast介绍与使用
  5. 分享一下一款直播App开发的过程
  6. memcached构建集群分析之一
  7. Spark Streaming揭秘 Day26 JobGenerator源码图解
  8. UIViewController生命周期测试
  9. Java 5种字符串拼接方式性能比较。
  10. 电商app开发新趋势!如何突显竞争力?
  11. 学JAVA第二十天,接触异常处理,自定义异常
  12. 为什么 array.foreach 不支持 async/await
  13. java web 开发入门 --- tomcat/servlet/jsp
  14. 21天,搞定软件测试从业者必备的Linux命令
  15. css 设置元素背景为透明
  16. 跳出思维定势,改变交谈习惯zz
  17. BZOJ1188:[HNOI2007]分裂游戏(博弈论)
  18. Go学习中
  19. mysql中InnoDB存储引擎的行锁和表锁
  20. Mysql 性能调优参数

热门文章

  1. 卓有成效的团队建设经验与见解 Team Leader你会带团队吗?
  2. 架构(三层架构)、框架(MVC)、设计模式三者异同点
  3. tsung 学习
  4. Python 实int型和list相互转换 现把float型列表转换为int型列表 把列表中的数字由float转换为int型
  5. bash的输出多行和vim的全部选择
  6. 用注册表更改DNS的代码分享
  7. 479. Second Max of Array【easy】
  8. Ubuntu环境下使用npm安装node模块时报错的处理方法
  9. 插入节点appendChild()
  10. cocosbuilder的一些坑