# 前言

OpenSSL 是一个强大的,使用 C 编写的开源密码学库。它具有高度可定制、功能强大、支持完善、TLS 支持和 CLI 调用等多种优势。

本文主要介绍如何在 Windows 上使用 VSCode C++ (Code Runner) 搭建 OpenSSL 开发环境。

# 环境

Visual Studio Code 1.62.3.0

# 搭建过程

# 安装 OpenSSL

本文的作者是个懒狗,他决定使用一键安装包:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com)

在这个网页上找到自己想要安装的 OpenSSL 版本就可以了,然后下载.exe 或.msi 安装包,默认把选项全部勾选即可。

# 添加 Path 环境变量

开始菜单 - 设置 - 系统 - 关于 - 高级系统设置 - 高级 - 环境变量(当然你也可以直接在开始菜单搜索)

在系统变量中找到 Path,增加一条,指向你的 OpenSSL 安装目录下的 /bin 目录,例如: D:\OpenSSL-Win64\bin

确定,保存。此时打开 CLI(Win+R,cmd),尝试检查一下 OpenSSL 是否安装成功:

openssl version

如果安装成功,就会返回一个版本信息,例如:

OpenSSL 3.1.3 19 Sep 2023 (Library: OpenSSL 3.1.3 19 Sep 2023)

# 配置 VSCode

打开 VSCode,找到 Code Runner 扩展,修改 settings.json 文件,增加这样的几条规则,并 Ctrl+S 保存,例子如下:
(可以修改自己想用的 C/C++ 标准,例如 std=c++20C++ 20 ,那么你可以修改为 std=c++23 来改成 C++23
(请把示例中的安装目录修改为自己的 OpenSSL 文件夹下的 \include 目录和 \lib 目录)

"code-runner.executorMap": {
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -Wall -std=c++20 -I \"D:\\OpenSSL-Win64\\include\" -L \"D:\\OpenSSL-Win64\\lib\" -lssl -lcrypto && $dir$fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -Wall -I \"D:\\OpenSSL-Win64\\include\" -L \"D:\\OpenSSL-Win64\\lib\" -lssl -lcrypto && $dir$fileNameWithoutExt"
    },
    "C_Cpp.default.includePath": [
        "D:\\OpenSSL-Win64\\include",
    ],

# 测试运行

这里是一个非常简单的测试程序:

#include <iostream>
#include <openssl/aes.h>
using namespace std;
int main()
{
    cout << "Hello, OpenSSL!" << endl;
    cout << "AES Block Size is: " << AES_BLOCK_SIZE << " Bytes" << endl;
    return 0;
}

如果正常运行,这个程序输出如下:

Hello, OpenSSL!
AES Block Size is: 16 Bytes

# 结语

至此,VSCode C++ (Code Runner) + OpenSSL 开发环境配置完毕,可以进行 OpenSSL 的 C/C++ 开发。