You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Function中使用msCrypto解决SAP HANA SSL连接报错

问题解答

msCrypto兼容性说明

msCrypto是Windows系统原生加密接口,无专用主机的Azure Function(消费计划、弹性Premium计划)的Windows运行沙箱原生支持该接口,不需要配置专用主机即可正常运行。

报错原因

你遇到的Connection failed (RTE:[1000013] The system cannot find the file specified错误,是启用SSL后SAP HANA驱动未找到对应信任根证书导致的:本地运行环境已预安装HANA实例的根CA证书,Azure Function运行沙箱默认没有该证书,驱动读取证书失败抛出该错误。

解决步骤

  • 从SAP管理员处获取你要连接的HANA实例对应的根CA证书文件(一般为PEM格式的.crt或.pem文件)
  • 将证书文件放入Azure Function项目根目录,右键设置文件属性的「复制到输出目录」为如果较新则复制,确保部署时证书会一起打包到运行环境
  • 在HANA连接字符串中添加两个参数:
    • cryptoProvider=msCrypto 显式指定加密提供程序
    • sslTrustStore="证书路径" 证书路径可以使用Azure Function固定的站点根目录变量拼接,例如%HOME%\site\wwwroot\HanaRootCA.crt,也可以通过C#代码动态生成准确路径:Path.Combine(Environment.GetEnvironmentVariable("HOME"), @"site\wwwroot\HanaRootCA.crt")
  • 测试环境临时验证时可以在连接字符串添加validateCertificate=false跳过证书校验,该配置存在安全风险,禁止用于生产环境
  • 确认你的Azure Function使用的是Windows运行时,msCrypto仅适配Windows环境,如果使用Linux运行计划需要将加密提供程序切换为openssl
  • 如果修改后仍报错,可以在Azure Function的「配置」-「应用程序设置」中添加配置项WEBSITE_LOAD_USER_PROFILE=1,开启用户配置文件加载,满足msCrypto访问证书存储的权限要求

内容的提问来源于stack exchange,提问作者Alzorz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:57:03