win10下安装使用GmSSL【基于VS Code、Ubuntu WSL】

写在前面

  由于Windows自身对这些软件的兼容性一言难尽,而重新搭载虚拟机的过程又过于麻烦,因此笔者另辟蹊径,使用在Microsoft Store上的WSL来完成Linux环境的配置,同时结合VS Code来避免图形化界面的安装,尽量让Linux环境轻量级,同时也保证了代码高亮等更专业友好的开发环境。

具体安装步骤主要分以下几步:

  • 在Microsoft Store下载安装Ubuntu WSL
  • 配置VS Code
  • 在Ubuntu上配置GmSSL

在Microsoft Store下载安装Ubuntu WSL

  搜索控制面板,进入控制面板,选择程序,点击启用或关闭Windows功能,勾选适用于Linux的Windows子系统,如下:

  根据提示重启系统。
  重启后在Microsoft Store中搜索Ubuntu,下载并安装18.04版本,如下:

  安装后启动,根据提示设置电脑名称和密码,这将是之后的用户名和密码,请务必记住
  使用如下命令更改软件源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list

  将文件/etc/apt/sources.list中所有源注释掉后,添加下面的信息:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

  保存并退出后使用命令进行更新,这很必要,如下:

sudo apt-get update

配置VS Code

下载安装VS Code

  下载安装最新的VS Code,官网链接

下载所需插件

  安装完成后在官网下载需要的插件,具体插件包括Remote WSLRemote SSHRemote Development官网链接,如下:

  搜索后点击打开,右侧有Download Extension字样,点击进行下载,如下:

安装插件

  打开VS Code,点击左侧最下方Extensions的图标,左侧栏上方出现三个点...,点击后选择Install from VSIX,然后选择刚下载好的三个插件进行安装即可,如下:

在Ubuntu上配置GmSSL

下载GmSSL压缩包

  使用wget从网页下载GmSSL的压缩包。wget后参数为下载链接,由于该链接可能随着版本更新,因此需要去查看该链接地址,GmSSL官网提供了Linux版本下载路径,可以去官网http://gmssl.org查看。点击Download后会跳转至GitHub界面,在下方找到Linux版本后,点击右键复制链接,如下图:

  使用wget命令下载压缩包,如下:

sudo wget https://github.com/guanzhi/GmSSL/archive/gmbrowser-v0.1.tar.gz
在Ubuntu上解压并安装

  在想要安装GmSSL的路径上新建一个文件夹:

sudo mkdir -p /opt/GmSSL

  在安装包下载目录下对压缩包进行解压,-C参数后是解压目录:

sudo tar -zxvf gmbrowser-v0.1.tar.gz -C /opt/GmSSL

  用cd进入解压目录后,由于GmSSL压缩包可能本来为一个文件夹,因此使用ls查看文件目录,并进入该目录,如下:

  在安装目录下依次使用以下命令:(安装过程可能出现一些报错,下面有提供一些思路)

sudo ./config
sudo make
sudo make install

报错解决:

  • 提示没有make,根据提示用sudo apt install make命令安装即可
  • 出现错误make[1]: *** [crypto/aes/aes-x86_64.o] Error 127,根据错误追踪上查,发现原因是没有基于C语言的的编译器,使用命令sudo apt install gcc安装gcc即可
  • make结束后会出现make[1]: Leaving directory '/opt/GmSSL/GmSSL-gmbrowser-v0.1',这个错误不用管,直接进行下一步即可
配置GmSSL动态链接库和静态链接库

  复制配置文件到目标目录。
  先cd/usr/lib下查看目录,如下:

  观察有没有x86_64-linux-gnu文件夹,如果有则目标复制到该目录下,否则复制到/usr/lib下,具体为:

# 如果有上述文件夹
sudo cp libcrypto.so /usr/lib/x86_64-linux-gnu
sudo cp libssl.so /usr/lib/x86_64-linux-gnu
sudo cp libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu
sudo cp libssl.so.1.1 /usr/lib/x86_64-linux-gnu

# 如果没有上述文件夹
sudo cp libcrypto.so /usr/lib
sudo cp libssl.so /usr/lib
sudo cp libcrypto.so.1.1 /usr/lib
sudo cp libssl.so.1.1 /usr/lib

  由于在调用相关头文件完成自编写程序的过程中,需要使用静态链接库,因此还需配置静态链接库,如下:

sudo cp libssl.a /usr/lib
sudo cp libcrypto.a /usr/lib

  接着使用如下命令配置环境变量,在.bashrc文件中添加LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib并使其生效,如下:

cd
vi .bashrc
source .bashrc

使用与测试

测试GmSSL安装情况

  使用命令gmssl后若进入如下界面则表示gmssl成功安装并可使用。

测试VS Code与Ubuntu的连接

  在Ubuntu中使用命令code .后VS Code提示插件正在安装,这是第一次使用时安装初始化的过程,之后不会这么缓慢,但实际这个过程也不慢。完成后VS Code左侧出现Ubuntu中文件组织结构,其中Windows的C盘所在路径为/mnt/c其他盘类似。
  出现上述描述表明成功连接。

如何使用?

  每次启动Ubuntu后,在指定文件夹下使用code .命令即可完成连接的创建。然后在VS Code中使用快捷键Ctrl + `(和~在一起的那个)打开终端,之后便可以在该终端中使用Linux命令进行GmSSL的运用。
  如下为VS Code终端:

  当自己调用gmssl头文件编写程序时,需要对其进行编译,在源文件目录下使用命令g++ filename.cpp -lssl -lcrypto即可完成编译。如下:


参考资料

https://www.jianshu.com/p/2bcf5eca5fbc
http://gmssl.org/docs/quickstart.html
https://zhuanlan.zhihu.com/p/100952557
https://www.cnblogs.com/wangzihong0213/p/10856875.html

猜你喜欢

转载自blog.csdn.net/m0_46161993/article/details/108713652