WeChatVideoDownloader icon indicating copy to clipboard operation
WeChatVideoDownloader copied to clipboard

openssl过旧导致无法代理,开启软件后无法打开网页

Open ulua3809 opened this issue 6 months ago • 2 comments

问题现象

出现同#117 的问题

打开浏览器提示:ERR_CONNECTION_CLOSED

at done (D:\Program Files (x86)\WeChatVideoDownloader\resources\app.asar\build-electron\webpack:\wechat-video-downloader\node_modules\[email protected]@pem\dist\index.js:8:13819)
at ChildProcess.<anonymous> (D:\Program Files (x86)\WeChatVideoDownloader\resources\app.asar\build-electron\webpack:\wechat-video-downloader\node_modules\[email protected]@pem\dist\index.js:8:14103)
at ChildProcess.emit (node:events:513:28)
at maybeClose (node:internal/child_process:1091:16)
at Process.onexit (node:internal/child_process:302:5)
11:58:36.638 > proxy err Error: Invalid openssl exit code: 1
% openssl genrsa -traditional 2048
usage: genrsa [args] [numbits]
-des encrypt the generated key with DES in cbc mode
-des3 encrypt the generated key with DES in ede cbc mode (168 bit key)
-idea encrypt the generated key with IDEA in cbc mode
-seed
encrypt PEM output with cbc seed
-aes128, -aes192, -aes256
encrypt PEM output with cbc aes
-camellia128, -camellia192, -camellia256
encrypt PEM output with cbc camellia
-out file output the key to 'file
-passout arg output file pass phrase source
-f4 use F4 (0x10001) for the E value
-3 use 3 for the E value
-engine e use engine e, possibly a hardware device.
-rand file;file;...
load the file (or the files in the directory) into

问题原因

pem包在识别到openssl的主版本大于等于3时自动添加-traditional的参数,而自带的openssl版本为1.0.2q,不知道为什么被误判,而自带的openssl又无法处理-traditional参数

if (openssl.get('Vendor') === 'OPENSSL' && openssl.get('VendorVersionMajor') >= 3) {
    params.push('-traditional')
  }

解决办法

openssl换成Win64 OpenSSL v3.2.1 Light

下载openssl安装包,安装的时候选把dll安到/bin文件夹,打开软件安装目录\resources\public\openssl,除了openssl.cnf其他都删了

打开openssl安装路径\bin,复制到软件安装目录\resources\public\openssl

ulua3809 avatar Feb 18 '24 08:02 ulua3809