zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155203 20155204 实验五 通讯协议设计

    学习背景介绍

    OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/Linux、Windows、Mac OS等多种平台。

    OpenSSL最早的版本在1995年发布,1998年后开始由OpenSSL项目组维护和开发。当前最新的版本是1.1.0 alpha版本,完全实现了对SSLv1、SSLv2、SSLv3和TLS的支持。。目前,OpenSSL已经得到了广泛的应用,许多类型的软件中的安全部分都使用了OpenSSL的库,如VOIP的OpenH323协议、Apache服务器、Linux安全模块等等。

    OpenSSL整个软件包大概可以分成三个主要的功能部分:

    • 密码算法库
    • SSL协议库
    • 应用程序

    Linux下OpenSSL的安装和使用


    Linux下OpenSSL的下载

    在网页OpenSSL最新版本下载中下载如图中所示的内容

    - tar xzvf  openssl-1.1.0-pre1.tar.gz (解压文件名更换为自己下载版本的压缩文件名)
    - cd openssl-1.1.0-pre1(文件夹名同上)
    - ./Configure(注意c大写)
    - make
    - sudo make install
    


    Linux下OpenSSL的使用

    • 使用man openssl查看帮助文档

    • 编写一个测试代码test_openssl.c

    #include <stdio.h>
    #include <openssl/evp.h>
    
    int main(){
        
        OpenSSL_add_all_algorithms();
        
        return 0;
    }
    

    问题及解决:如果出现找不到文件或无法识别文件格式等问题,将两个.a库文件放入usr/local/ssl/lib中,并在编译时加入-lcrypto参数

    具体编译测试如下图:


    研究OpenSSL算法,测试对称算法中的AES,非对称算法中的RSA,Hash算法中的MD5


    AES:


    RSA:


    MD5:


    选用合适的算法,基于混合密码系统实现对TCP通信进行机密性、完整性保护。

    本次实验示例为wcserver:

  • 相关阅读:
    SQL语句熟悉
    CSS3 attribute
    轮播器
    PHP 邮箱操作的Action
    Hole puncher Show Picture
    力扣算法——133.CloneGraph【M】
    力扣算法——134GasStation【M】
    力扣算法——135Candy【H】
    力扣算法——136SingleNumber【E】
    力扣算法——137SingleNumberII【M】
  • 原文地址:https://www.cnblogs.com/xhwh/p/8031725.html
Copyright © 2011-2022 走看看