2017-2018-1 20155231 实验五 通讯协议设计

2017-2018-1 20155231 实验五 通讯协议设计

实验目的:Linux下OpenSSL的安装与使用

实验步骤:

1

  • 下载openSSL;
  • 下载后已经自动解压。所以省略了
tar xzvf    openssl-1.1.0-pre1.tar.gz 

解压源代码这一步;

  • 进入源代码目录编译安装:
./configure

make

sudo make install
  • 并使用
make test

测试

  • 编写测试代码test_openssl.c:
#include <stdio.h>
#include <openssl/evp.h>

int main(){
    
    OpenSSL_add_all_algorithms();
    
    return 0;
}
  • 使用命令编译
gcc -o to test_openssl.c -I /usr/local/ssl/inlcude /usr/local/ssl/lib -ldl -lpthread
  • 使用命令运行
./to;echo $?
  • 打印0

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

  • AES的用法如下:

openssl enc -aes-128-cbc -in plain.txt -out out.txt -pass pass:123456 //密码123456

RSA 的用法如下:

openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg]
   [-sgckey] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id]

常用选项:

-in filename:指明私钥文件

-out filename:指明将提取出的公钥保存至指定文件中 

-pubout:根据私钥提取出公钥

MD5 的用法如下:

openssl passwd -1 -in test.txt -salt 12345678

生成密码需要使用的标准命令为

passwd

,用法如下:

openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] {password}

常用选项有:

-1:使用md5加密算法

-salt string:加入随机数,最多8位随机数

-in file:对输入的文件内容进行加密

-stdion:对标准输入的内容进行加密

2. 在Ubuntu中实现对实验二中的“wc服务器”通过混合密码系统进行防护

代码链接
成果截图:

遇到的问题:

  1. 下载版本出错;解决:重新下载
  2. 测试代码运行未通过;解决:与.o .h文件链接,更改编译命令。
posted @ 2017-12-17 23:27  名字最难取  阅读(223)  评论(1编辑  收藏  举报