arcgis pro 关于Open ssl 问题解决

  1. 设置环境变量: 通过设置环境变量 CRYPTOGRAPHY_OPENSSL_NO_LEGACY 来禁用遗留算法的使用。在命令行中运行以下命令来设置这个环境变量:

    xport CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1

    如果您使用的是 Windows 系统,在命令提示符或 PowerShell 中设置环境变量的命令略有不同:

    set CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1

    设置此环境变量后,再次尝试运行 ArcGIS Pro 的深度学习模型训练工具。

  2. 配置 OpenSSL 以加载遗留提供程序: 如果您需要使用遗留算法,您可以通过修改 OpenSSL 配置文件来告诉 OpenSSL 加载新的提供程序和遗留提供程序。具体步骤如下:

    • 使用 openssl version -d 命令找到 OpenSSL 配置文件的目录。
    • 在配置文件中添加遗留提供程序的引用,并激活默认和遗留提供程序。
    • 使用 openssl list -providers 命令验证更改是否成功。
  3. 检查 OpenSSL 模块路径: 确保 legacy.so 文件存在于 OpenSSL 的默认模块目录中。您可以使用 openssl version -m 命令来获取这个目录的路径。如果 legacy.so 文件不在该目录中,您可以将其移动到该目录,或者通过设置 OPENSSL_MODULES 环境变量指向包含 legacy.so 的目录。

  4. 更新或降级 cryptography 库: 如果问题仍然存在,您可能需要更新或降级 cryptography 库到一个与 OpenSSL 3.0 兼容的版本。您可以使用 pip 来管理 Python 包的版本:

    pip install --upgrade cryptography

    或者,如果需要降级到旧版本:

    pip install cryptography==<version>

    其中 <version> 是您希望安装的 cryptography 版本号。

  5. 联系技术支持: 如果上述方法都无法解决问题,您可能需要联系 ArcGIS Pro 的技术支持团队,以获取更专业的帮助和指导。


1、 系统变量设置:

使用命令提示符(cmd)设置环境变量:

  1. 按下 Win + R 键打开“运行”对话框。
  2. 输入 cmd 并按回车键,这将打开命令提示符窗口。
  3. 在命令提示符窗口中,输入以下命令并按回车键:
    et CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1
  4. 为了确保环境变量设置成功,可以使用 echo 命令来显示当前的环境变量值:
    cho %CRYPTOGRAPHY_OPENSSL_NO_LEGACY%
    如果显示 1,则表示设置成功。

使用 PowerShell 设置环境变量:

  1. 按下 Win + X 键,然后选择“Windows PowerShell”或“Windows PowerShell (管理员)”。
  2. 在 PowerShell 窗口中,输入以下命令并按回车键:
    env:CRYPTOGRAPHY_OPENSSL_NO_LEGACY = "1"
  3. 同样地,您可以使用 echo 命令来验证环境变量是否设置成功:
    cho $env:CRYPTOGRAPHY_OPENSSL_NO_LEGACY
    如果输出为 1,则表示环境变量已正确设置。

请注意,通过上述方法设置的环境变量仅在当前打开的命令提示符或 PowerShell 会话中有效。如果您关闭了这些窗口或重启了计算机,这些设置将会丢失。 要使环境变量永久生效,您需要通过系统的环境变量设置界面进行配置:

  1. 右键点击“此电脑”或“我的电脑”,然后选择“属性”。
  2. 在打开的系统窗口中,点击左侧的“高级系统设置”。
  3. 在“系统属性”窗口中,点击“环境变量”按钮。
  4. 在“系统变量”区域,点击“新建”来添加新的环境变量,或者选择已有的变量并点击“编辑”来修改。
  5. 在“变量名”字段中输入 CRYPTOGRAPHY_OPENSSL_NO_LEGACY,在“变量值”字段中输入 1
  6. 点击“确定”保存更改,并关闭所有剩余的系统属性窗口。

完成这些步骤后,重新启动计算机以确保环境变量的更改生效。之后,您可以尝试再次运行 ArcGIS Pro 的深度学习模型训练工具,看看问题是否已解决。


2、配置 OpenSSL 以加载遗留提供程序:

1. 找到 OpenSSL 配置文件的目录

首先,您需要找到 OpenSSL 的配置文件目录。打开命令提示符(cmd)或 PowerShell,并运行以下命令:

openssl version -d

这个命令会输出 OpenSSL 的配置目录路径。请注意 OPENSSLDIR 后面的路径,这是您需要关注的目录。

2. 定位和编辑 OpenSSL 配置文件

接下来,您需要找到并编辑 OpenSSL 的主配置文件 openssl.cnf。这个文件通常位于上面步骤中找到的目录下。使用文件资源管理器导航到该目录,并找到 openssl.cnf 文件。

打开 openssl.cnf 文件,您可以使用文本编辑器,如 Notepad++ 或其他高级文本编辑器。

3. 修改配置文件以加载遗留提供程序

openssl.cnf 文件中,您需要进行两处修改:

a. 添加遗留提供程序的引用

找到 [provider_sect] 部分,它可能看起来像这样:

[provider_sect] 
default = default_sect

在这一节中,添加对遗留提供程序的引用:

[provider_sect] 
default = default_sect 
legacy = legacy_sect
b. 激活默认和遗留提供程序

在文件中找到 [default_sect] 部分,并确保激活默认和遗留提供程序。您可能需要取消注释(删除 # 符号)并添加 activate = 1 行:

[default_sect] 
activate = 1 


[legacy_sect] 
activate = 1

4. 保存并关闭配置文件

完成修改后,保存并关闭 openssl.cnf 文件。

5. 验证更改

最后,您需要验证 OpenSSL 是否已经加载了遗留提供程序。再次打开命令提示符(cmd)或 PowerShell,并运行以下命令:

openssl list -providers

这个命令应该会列出所有已激活的提供程序,包括 defaultlegacy。如果 legacy 提供程序的状态显示为 active,那么您已经成功配置 OpenSSL 以加载遗留提供程序。

请注意,修改系统级的 OpenSSL 配置文件可能会影响其他依赖 OpenSSL 的应用程序。如果您在操作过程中遇到问题,建议创建配置文件的备份,以便在需要时可以恢复到原始状态。

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值