• OpenSSL 自述


    在这里插入图片描述
    在这里插入图片描述
    1995 年, Eric A. Young 和 Tim J. Hudson 发明了 SSLeay,它是 SSL(Open-source Secure Sockets) 协议的实现。1998 年,Young 和 Hudson 停止了对 SSLeay 的维护,开始在澳大利亚为 RSA 工作。
    后来我便出现了,是基于 SSLeay 重新建立了分支,正式起名为 OpenSSL。我开源而且免费,可以商用。
    我主要有两个作用:
    1.我实现了 SSL/TSL 协议,可用于 Web 服务器数据安全传输,比如 Node.js 的 TSL 模块就是基于我实现的;

    2.我还是一个密码库,用来保证计算机网络中的通信安全,实现了各种加解密算法,比如 RSA,DES。我还可以做签名;

    我使用 C 语言实现,这样可以更好地实现跨平台,并且其它语言也有相关的框架实现,其实它们底层使用的还是我。
    总的来说我其实就是一个软件包,提供了 TSL/SSL 协议的实现,并且是一个密码库,实现了非常多的加密算法,比如 RSA,DES。但是我的结构很复杂,扩展性也非常好。
    我主要包含以下三部分内容:
    在这里插入图片描述
    整体代码架构如下:
    在这里插入图片描述
    关于我更多的内容可以查看:
    https://github.com/openssl/openssl
    百度百科上,我是被这样定义的:
    在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。
    SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已经成为Internet上保密通讯的工业标准。
    使用
    Mac 会自动安装了 OpenSSL 命令工具,打开终端命令工具即可使用。
    1.使用 RSA 算法进行加密解密
    生成 RSA 公钥、私钥钥匙对。
    在这里插入图片描述
    提取公钥:
    在这里插入图片描述
    使用公钥加密文件:
    在这里插入图片描述
    使用私钥解密文件:
    在这里插入图片描述
    2. openssl 支持的命令行
    在这里插入图片描述

  • 相关阅读:
    layer备忘
    Java中遍历Map对象的4种方法
    为什么Java中1000==1000为false而100==100为true?
    linux系统安装psycopg2
    centos7源码安装mysql5.7
    Azure Sql
    javascript和jQuery动态修改css样式的方法
    Git early EOF index-pack failed 问题
    C# 多线程——SemaphoreSlim的使用
    Docker 可视化
  • 原文地址:https://www.cnblogs.com/blxt/p/14501217.html
Copyright © 2020-2023  润新知