前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >openssl 上手(树莓派)

openssl 上手(树莓派)

原创
作者头像
无限之生
修改2020-06-30 14:25:52
1.2K0
修改2020-06-30 14:25:52
举报
文章被收录于专栏:技术日记技术日记

1 openssl 命令行

a 在树莓派终端中直接输入 openss version, 查看版本,可以判断是否存在,如果存在可以使用openssl命令行方式;

例如:

2 openssl 编程

写一个简单的AES 调用,测试环境是否OK,测试代码如下:

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <openssl/aes.h>


void hal_aes_encrypto(void)
{
    char userkey[AES_BLOCK_SIZE];
    unsigned char *date = malloc(AES_BLOCK_SIZE*3);
    unsigned char *encrypt = malloc(AES_BLOCK_SIZE*3 + 4);
    unsigned char *plain = malloc(AES_BLOCK_SIZE*3);
    AES_KEY key;

    memset((void*)userkey, 'k', AES_BLOCK_SIZE);
    memset((void*)date, 'p', AES_BLOCK_SIZE*3);
    memset((void*)encrypt, 0, AES_BLOCK_SIZE*6);
    memset((void*)plain, 0, AES_BLOCK_SIZE*3);

    /*设置加密key及密钥长度*/
    AES_set_encrypt_key(userkey, AES_BLOCK_SIZE*8, &key);
    
}

make之后,出现 fatal error: openssl/aes.h: No such file or directory

解决方法:

原因是libssl-dev~没有安装

libssl-dev包含libraries, header files and manpages,是openssl的一部分

使用sudo apt-get install libssl-dev来安装libssl-dev

 安装之后,编译不再报错,但是出现 “undefined reference to `AES_set_encrypt_key'“

应该是没有指定连接的库, 在makefile中增加  -lssl -lcrypto,

连接也OK 拉

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 openssl 命令行
  • 2 openssl 编程
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档