fastdds在windows10中的环境搭建—asio and tinyXML2 libraries、openssl、Libp11 and SoftHSM libraries的下载安装(六)
一、asio and tinyXML2 libraries的下载安装
1、按照官网给的链接,直接点击下载包
2、按照官网给的命令,直接安装即可
注意:,一是用管理员身份打开power shell,二是更换到下载的两个包的路径
下面是的我的截图
二、openssl的下载安装(按照fastdds官网步骤下载安装)
1、按照官网给的openssl官网链接下载对应的exe文件
2、exe文件直接双击安装,可以更换路径(openssl不建议更换了,我这里使用默认c盘路径,我电脑更换后一直出错,而且后面的库文件也需要配置这里相应的路径,所以可以使用默认路径),一路next,最后的一个页面里我是把捐赠的对号全部去掉,点击finish
3、按照官网提示,添加环境变量(下图是我的添加结果,直接将目录添加到path中)
4、测试安装成功,打开cmd,输入命令:
openssl version
显示版本,即可表明安装成功。
5、注意:官网中我理解的意思是添加了一个环境变量OPENSSL_ROOT_DIR而已,但是只是添加一个环境变量的话cmd中还是提示没有openssl命令,所以我才添加到了path中,最后提示有该命令。
最后为了能和官网尽量匹配,也保证没别的问题,就另外新建立了一个环境变量OPENSSL_ROOT_DIR,也不影响原先的结果。
三、Libp11 and SoftHSM libraries的下载安装
3.1 lib11库的下载安装(按照fast官网步骤下载安装)
3.1.1 按照官网的链接地址下载包
注意:我自己的下载步骤:
第一步:官网链接点进去
第二步:在第一步的基础上点击进去链接下载了源码
3.1.2 按照官网给的安装步骤进行安装
第一步:点进去installations instroctions链接
第二步:可以看到三种情况进行编译,我采用的第三种
第三步:管理员打开vs的x64 command prompt,输入命令(易错点:第一路径一定要用双引号,不然命令识别错误,第二在lib11库的目录下输入命令):
nmake /f Makefile.mak OPENSSL_DIR="C:\Program Files\OpenSSL-Win64" BUILD_FOR=WIN64
最后得到编译结果,会在src目录下生成pkcs11.dll,以及libp11.dll:
3.2 SoftHSM库的下载安装(按照fastdds官网步骤下载安装)
第一步:点击fastdds官网的下载库链接
第二步:两种下载安装方式,第一个是zip包,需要自己设置环境,第二个是msi下载器,自动配好环境,我下载的是第二个
第三步:,安装过程中一直next即可(安装中我这默认路径到d盘了,所以也没动,按理是可以改动的),最后查看一下环境变量确定添加进去了。
3.3 环境配置
第一步:fastdds官网要求配置如下图所示,进行下图中的第一步:
两行命令如下:
cmd> set OPENSSL_CONF=C:\Program Files\OpenSSL-Win64\bin\cnf\openssl.cnf
powershell> $Env:OPENSSL_CONF="C:\Program Files\OpenSSL-Win64\bin\cnf\openssl.cnf"
分别在cmd和powershell中执行两行命令:
第二步:设置openssl的配置文件,进行下图中的第二步(记得管理员权限打开notebook,不然修改不了,忘了记事本行不行了)
首先一定要找到正确的配置文件路径,可使用openssl version -a 查看OPENSSLDIR环境变量,保证openssl.cnf位于此目录下面.编辑openssl.cnf文件,添加一行定义,这一行要位于文件顶部,并且位于所有section定义之前。
openssl_conf = openssl_init
另外在配置文件底部添加以下内容:
注意:下面复制的两个库的路径dynamic_path和MODULE_PATH,其中pkcs11.dll就是上面libp11项目编译出来的动态库,softhsm2-x64.dll是softhsm2安装路径的动态库
[openssl_init]
engines = engine_section
[engine_section]
pkcs11 = pkcs11_section
[pkcs11_section]
engine_id = pkcs11
dynamic_path = D:/libp11-libp11-0.4.11/src/pkcs11.dll
MODULE_PATH = D:/SoftHSM2/lib/softhsm2-x64.dll
init = 0
第三步:进行下图中的第三步
打开命令行,输入如下命令
openssl engine pkcs11 -t
得到如下结果: