在Windows

时间:2018-04-03 11:06:08

标签: windows batch-file ssl openssl sh

我写了一个.sh脚本,它在windows上运行openssl命令:

openssl s_client -connect [ADRESS]:8883 -cert ./device.cert.pem -key ./device.key.pem
read;

动力: 天花板上安装了传感器,连接到AWS云。我想在到达站点的物理传感器之前发送测试工具,该工具将在稍后将部署传感器的网络上运行 - 并运行开放SSL。 传感器有Linux操作系统,它们运行开放式SSL - 我想有一个Windows工具也可以。它将识别代理,阻塞端口并验证连接是否可行。

问题: 该脚本要求在Windows机器上安装SSL,有没有办法避免这种依赖?也许包括一些开放的ssl库(zip,jar等)?

1 个答案:

答案 0 :(得分:1)

安装程序有两个关键活动,一个是复制/解压缩二进制文件以进行本地执行,另一个是将一个或多个目录添加到路径环境变量中,以便您的脚本只需调用openssl例如,而不是必须知道其位置的确切路径。添加注册表是支持设计不良的应用程序可能发生的另一件事。

如果该工具是“xcopy installable”,as-in,不需要注册表运行,那么您可以将这些位复制到您选择的位置并从那里执行它们。另一种选择是直接从网络上的文件共享调用它们,但是对于某些应用程序来说这可能很难正确配置。注意放在二进制文件旁边的数据/配置文件。如果应用程序可以开始指向本地配置和数据,那么你很高兴,否则,你最终会在本地复制这些位。

我通常指定一个本地用户特定目录用作文件缓存,如果尚未存在正确的版本,则将其复制到那里。然后,您的脚本可以首先查看缓存,并且只在首次使用时通过网络复制位。

基本上,如果应用程序在计算机上不存在,则无法运行该应用程序。您的选择是:

  1. 未安装openssl时出现错误消息。
  2. 提供一个选项,以便在检测到缺失时安装openssl。
  3. 如果可能,xcopy会安装您需要的位。