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

Docker化连接SAP HANA的应用时如何添加SSL证书完成校验?

注:DigiCert Global Root CA为操作系统、标准JDK发行版默认信任的根CA,若你使用的是官方标准JDK基础镜像且未修改默认信任库,通常无需手动导入证书即可直接连接。若测试时出现SSL证书校验错误,再执行以下操作。

方案1:将HANA服务端根证书集成到Docker容器

你可以根据自己的场景选择以下两种实现方式:

方式一:导入证书到JDK默认信任库

  • 先提前导出DigiCert Global Root CA根证书为PEM格式,命名为DigiCertGlobalRootCA.crt,放到Docker构建上下文目录(和Dockerfile同级)
  • 编写Dockerfile,在构建阶段完成证书导入,示例如下:
# 替换为你实际使用的JDK基础镜像
FROM openjdk:11-jre-slim
WORKDIR /app
# 复制根证书到容器系统证书目录
COPY DigiCertGlobalRootCA.crt /usr/local/share/ca-certificates/
# 可选:更新系统级CA信任,满足容器内其他程序的HTTPS请求需求
RUN update-ca-certificates
# 导入证书到JDK默认信任库cacerts,默认密码为changeit
RUN keytool -importcert -file /usr/local/share/ca-certificates/DigiCertGlobalRootCA.crt \
    -cacerts -alias digicert_global_root_ca -storepass changeit -noprompt
# 复制应用包并配置启动命令
COPY your-app.jar /app/
ENTRYPOINT ["java", "-jar", "your-app.jar"]

方式二:使用自定义独立信任库(适合多证书管理场景)

  • 先在本地环境生成自定义信任库,执行命令:
    keytool -importcert -file DigiCertGlobalRootCA.crt -keystore custom-truststore.jks -alias digicert_global_root_ca -storepass 自定义密码 -noprompt
  • 编写Dockerfile,启动时通过JVM参数指定信任库:
FROM openjdk:11-jre-slim
WORKDIR /app
COPY custom-truststore.jks /app/
COPY your-app.jar /app/
ENTRYPOINT ["java", "-Djavax.net.ssl.trustStore=/app/custom-truststore.jks", "-Djavax.net.ssl.trustStorePassword=自定义密码", "-jar", "your-app.jar"]

你也可以直接把信任库配置加到JDBC URL参数中,不用全局配置JVM参数,示例:
jdbc:sap://localhost:30013/?encrypt=true&validateCertificate=true&trustStore=/app/custom-truststore.jks&trustStorePassword=自定义密码

方案2:证书到期无业务影响更新方法
  • 提前操作:在旧证书到期前,将新的根证书/服务端证书导入信任库,同一个信任库可同时存储新旧两个证书(设置不同别名即可),JVM会自动匹配合法证书,不会影响现有连接
  • 滚动更新:
    • 若使用K8S、Docker Swarm等编排工具:将更新后的信任库做成ConfigMap/Secret,滚动更新容器实例,更新过程中旧实例持续提供服务,无业务中断
    • 若为单机Docker部署:先启动加载新信任库的新容器,验证连接正常后将流量切到新容器,再下线旧容器即可
  • 优化建议:可将信任库文件挂载到宿主机目录,不用每次更新证书都重新构建镜像,替换宿主机文件后重启容器即可生效;若应用支持SSL信任库热加载,可实现完全无重启更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:39:02