OpenSSL

前置

  • C 编译器(Visual Studio 2022)

  • NASM

  • PERL (strawberry perl)

  • PERL模块Text::Template(命令行执行cpan Text::Template)

开始

  1. 解压openssl源码至C:\openssl-1.1.1

  2. 管理员开启x64 Native Tools Command Prompt for VS 2022命令行工具

  3. 前往C:\openssl-1.1.1

  4. 验证是否可以找到nasm :nasm --version

  5. 执行 perl C:\openssl-1.1.1\Configure VC-WIN64A no-shared no-capieng no-srp no-gost no-dgram no-dtls1-method no-dtls1_2-method --api=1.1.0 --prefix=C:\OpenSSL-Win64-111-static --openssldir=C:\OpenSSL-Win64-111-static

  6. nmake; nmake test; nmake install_sw

nmake test出错:

test\recipes\80-test_cms.t ...................... Dubious, test returned 4 (wstat 1024, 0x400)

Failed 4/4 subtests

test\recipes\80-test_ssl_new.t .................. Dubious, test returned 1 (wstat 256, 0x100)

Failed 1/27 subtests

PCRE

  1. 解压至 C:\pcre-8.41

  2. 创建空文件夹C:\pcre-8.41\build

  3. 创建空文件夹C:\pcre-8.41-install

  4. 启动cmake-gui,若失败,建议使用命令行工具打开

  5. 源:C:\pcre-8.41 构建目录:C:\pcre-8.41\build

  6. 点击configure,选择NMake Makefiles生成器

  7. 开启选项:PCRE_SUPPORT_UNICODE_PROPERTIES,PCRE_SUPPORT_UTF

  8. 指定MAKE_INSTALL_PREFIX:C:\pcre-8.41-install

  9. 再次点击configure,然后generate

  10. 命令行执行C:\pcre-8.41\build> nmake install

Zabbix

使用管理员打开命令行

进入D:\file_tmp_2\build\win32\project

nmake /K -f Makefile_client TLS=openssl TLSINCDIR=C:\OpenSSL-Win64-111-static\include TLSLIBDIR=C:\OpenSSL-Win64-111-static\lib PCREINCDIR=C:\pcre-8.41-install\include PCRELIBDIR=C:\pcre-8.41-install\lib

nmake /K -f Makefile_client PCREINCDIR=C:\pcre-8.41-install\include PCRELIBDIR=C:\pcre-8.41-install\lib

找不到pcre.lib

方法1:修改Makefile_pcre.inc,将pcre.lib改为pcred.lib

方法2:待补充

找不到grp.h

方法:删除include中以生成的config.h

问题:为啥得自己去建文件夹才能生成exe

hclient.exe -c D:\file_tmp\conf\hclient.win.conf -i (install)

hclient.exe -c D:\file_tmp\conf\hclient.win.conf -s(start)

hclient.exe -c D:\file_tmp\conf\hclient.win.conf -x(stop)

修改win.conf注意

显示server无法连接该client

配置防火墙:防火墙高级安全->入站规则->新建规则->类型:端口->特定端口