VS 中 OpenSSL 环境配置示例

网友投稿 943 2025-04-02

最近在研究信息安全,需要用到 OpenSSL 库,我用到的开发 IDE 是 VS2012,所以,在这里也记录一下我配置 VS2012 的 OpenSSL 库的过程。


下载 OpenSSL 库

OpenSSL 库大家可以自行下载源码然后用 ruby 进行编译,另外我们也可以选择直接下载编译好的类库。 这里我们利用的后者,在此提供一个下载链接。 OpenSSL-Win32 下载完成之后解压,比如我的放到了 D 盘。

新建项目

首先,我们找一段测试代码,在此利用的是 AES 算法的示例。

1

2

3

4

5

6

7

8

9

10

VS 中 OpenSSL 环境配置示例

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

#include

#include

#include

#include

int main()

{

unsigned char key[16+1] = "my-key-i-choosed"; // 128bits key (应该是真正的随机数才好)

char pt1[16+5+1] = "0123456789abcdef12345"; // 明文

char ct[16+5+1]; // 密文

char pt2[16+5+1]; // 解密后的明文

AES_KEY k;

unsigned char iv1[16+1] = {"1023456789abcdef"}; // 16+1,加密用

unsigned char iv2[16+1] = {"1023456789abcdef"}; // 16+1,解密用

{ // single blcok test

AES_set_encrypt_key(key, 16*8, &k);

AES_encrypt((unsigned char*)pt1, (unsigned char*)ct, &k);

AES_set_decrypt_key(key, 16*8, &k);

AES_decrypt((unsigned char*)ct, (unsigned char*)pt2, &k);

if (memcmp(pt1, pt2, 16)==0)

puts("AES block ok");

else

puts("AES block err");

}

{ // cfb mode (stream mode)

int num=0;

AES_set_encrypt_key(key, 16*8, &k);

AES_cfb128_encrypt((unsigned char*)pt1, (unsigned char*)ct,

16+5, &k, (unsigned char*)iv1, &num, AES_ENCRYPT);

num=0;

AES_set_encrypt_key(key, 16*8, &k); // MUST as enc

AES_cfb128_encrypt((unsigned char*)ct, (unsigned char*)pt2,

16+5, &k, (unsigned char*)iv2, &num, AES_DECRYPT);

if (memcmp(pt1, pt2, 16+5)==0)

puts("AES CFB mode ok");

else

puts("AES CFB mode err");

}

system("pause");

return 0;

}

接下来新建一个项目,win32 控制台程序,空项目,完成。 新建源文件,我取名叫做 aes.cpp,将代码复制进去,可以看到代码最初是在报错的。 好,接下来我们进行环境配置。

环境配置

右键项目名称,弹出一个菜单,选择属性。 在 VC++ 目录选项卡中,添加包含目录和库目录。 在这里,我的包含目录就是刚才解压的 OpenSSL 目录的 include 目录,库目录则是 lib 目录。 注意:分号要是英文分号,英文分号! 接下来选择连接器选项卡,输入 libeay.lib 和 ssleay32.lib 两个附加依赖项。 现在右击项目,重新生成。 我们可以看到,程序可以正常生成 exe 了。 但是直接运行的话会报错,是因为缺少 dll 文件。 之后,将项目中的 libeay32.dll 和 ssleay32.dll 文件放入项目的 debug 目录即可。 最后项目的 debug 目录如下 重新运行 exe 程序,发现已经正常运行。 至此,VS 配置 OpenSSL 环境的过程已经全部完成。 其他项目类似,大家可以试着配一下。 如有问题,欢迎留言交流~

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何使用Excel2007在表格中用斜划线划分内容(excel如何将单元格斜线划分)
下一篇:如何取消文档的标题属性
相关文章