.net - SSL 被 LD_LIBRARY_PATH 和 Matlab 破坏

标签 .net docker matlab ssl shared-libraries

我正在使用 Matlab Compiler SDK将一些 Matlab 代码编译为 .net DLL,我在 dotnet code 5 项目中用作依赖项。
该项目在 AWS Docker image for writing Lambda in dotnet 5 内运行.
MathWorks 文档指出设置环境变量 LD_LIBRARY_PATH是此功能发挥作用的关键。
中断的是,我不能再使用自签名证书(所有 AWS 服务 DynamoDB、S3 等)向 https 端点发出请求。
当我取出 LD_LIBRARY_PATH 时问题就消失了使用 Matlab 库,但当然,当我这样做时,Matlab 二进制文件不再起作用。
我一直在看文章like this one ,但我没有设法解决这个 SSL 问题,我当然可以绕过,但我不打算这样做。
.net 异常

The SSL connection could not be established, see inner exception. The remote certificate is invalid according to the validation procedure.


INNER EXCEPTION: The remote certificate is invalid because of errors in > the certificate chain: PartialChain


我发现导致此异常的特定库是:
  • /opt/mcr/v99/bin/glnxa64/libssl.so.1.1
  • /opt/mcr/v99/bin/glnxa64/libssl.so.1
  • /opt/mcr/v99/bin/glnxa64/libcrypto.so.1.1
  • /opt/mcr/v99/bin/glnxa64/libcrypto.so.1

  • 它们由 Matlab Runtime 提供,并通过环境变量 LD_LIBRARY_PATH 链接。 .
    我试图删除这些并链接系统,这样我修复 SSL 问题,但我 休息 Matlab 执行。
    实用文章
  • https://it.mathworks.com/support/search.html/answers/513449-what-unable-to-launch-the-matlabwindow-application-during-installation.html?fq=asset_type_name:answer%20category:support/introduct1740&page=1
  • https://www.bswen.com/2018/11/others-Openssl-version-cause-error-when-loading-shared-libraries-libssl.so.1.1.html
  • https://itectec.com/matlab/matlab-how-to-configure-matlab-to-allow-access-to-self-signed-https-servers/
  • 最佳答案

    这篇文章中写了一个有效的解决方案:https://www.scivision.dev/matlab-websave-ssl-certificate/
    连接到 Docker 镜像并检查您的 /etc/ssl/certs/*.srt 中的内容很有用。 .
    我通过添加 SSL_CERT_FILE 解决了我的问题引用文件的环境变量:

    export SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt
    
    现在我在 Docker Lambda 上运行了 Matlab。

    关于.net - SSL 被 LD_LIBRARY_PATH 和 Matlab 破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65961176/

    相关文章:

    linux - 一次更新(拉取)所有 docker 镜像

    docker - 推出新的后端版本+ Kubernetes + Gitlab CI + Google Cloud

    c# - 如何添加工具栏项 .net maui?

    c# - 使用 UA-.NET 调用 OPC-UA 方法

    c# - 为什么这个单元测试会抛出 "Element not found"异常?

    elasticsearch - 使用Elastic Docker镜像进行端口转发

    matlab - 提示用户在 Matlab 中再次输入值

    c# - 从 .net 同时调用两个 Matlab 函数

    regex - 提取字符串中被空格包围的 float

    .net - 什么是适用于 Windows 或 .Net 的好的 dvd 刻录组件?