zoukankan      html  css  js  c++  java
  • [国嵌攻略][179][OpenSSL加密系统]

    未加密传输的安全弊端

    如果在网络传输中没有加密,就是以明文传输。传输的数据可以被抓包软件直接截获,并能读取里面的数据。

    加密基本原理

    1.对称加密

    2.非对称加密

    2.1.公钥私钥

        公钥和私密要配对。公钥加密的数据用私钥来解密,私钥加密的数据用公钥来解密。

    2.2.数字证书

        当公钥被替换成别的公钥之后,替换前对应的私钥就不能解密了,只能用替换后对应的私钥解密。但是并不能判断公钥是否被替换。所以引入数据证书的概念。数字证书由权威机构发布,所以无法伪造。并且数字证书里面包含公钥和对应所有者信息,所以就可以判断公钥是否属于自己。

    SSL协议

    SSL协议位于TCP/IP协议与各种应用层协议之间,利用数据加密技术,可以确保数据在网络上传输过程中不会被截取及窃听。

    SSL协议可分为两层:

    SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

    SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

    OpenSSL

    OpenSSL是一个强大的安全套接字层密码库。包括主要的密码算法、常用的密钥和数字证书封装管理软件及SSL协议,并且提供了丰富的应用程序供测试或其他目的。

    移植OpenSSL库到开发板

    1.解压

    tar zxvf openssl-1.0.0s.tar.gz

    2.配置

    mkdir _install

    ./config no-asm shared –prefix=${PWD}/_install

    3.修改Makefile

    CC = arm-linux-gcc

    AR = arm-linux-ar

    RANLIB = arm-linux-ranlib

    4.编译

    make

    5.安装

    make install

    生成的库文件在_install/lib中。拷贝到开发根目录/lib中。

  • 相关阅读:
    常用的XML读写
    未能使用提供程序 "RsaProtectedConfigurationProvider" 进行解密 的解决办法
    (原创)Urlrewrite 独立配置文件的使用方法
    The Two Interceptors: HttpModule and HttpHandlers
    根据最后修改时间查询存储过程
    Net下WinForm皮肤插件资源
    C# 主线程 辅助线程
    浅述WinForm多线程编程与Control.Invoke的应用
    ASP.NET实现图片防盗链
    URLRewrite 实现方法详解
  • 原文地址:https://www.cnblogs.com/d442130165/p/5355357.html
Copyright © 2011-2022 走看看