如何使用 Docker 配置 SAP SNC

How to configure SAP SNC using Docker

我需要容器化与 SAP 系统对话的服务。该服务是使用 Spring Boot.

编写的

我有一份在 Linux 机器上手动执行步骤的文档,这将有助于连接到 SAP 系统。它遵循的步骤是:

  1. 下载所需文件
  2. 切换到用户
  3. 解压这些文件
  4. 创建符号Link
  5. 准备证书和密钥
  6. 生成 PSE
  7. 将 SAP 根证书和中间证书添加到 PSE 等等。

我正在考虑编写一个包含上述所有步骤的 Dockerfile。目前不知道还有其他选择。

很少有查询:

  1. 编写一个包含我们手动执行任何 Linux 机器的所有步骤的 Dockerfile 是个好主意,这也将帮助我容器化与 SAP 系统对话的服务。
  2. 是否有任何其他替代方法或库可用于实现相同的目的。
  3. docker 文件是否已经存在,这将帮助我连接到 SAP 系统。
  4. 如何使用 Dockerfile 在我的应用程序中配置 SAP SNC。

有人可以帮助我吗?

感谢您的帮助!提前致谢!

如果您有一个基于 Java 的 Spring 应用程序,您可以使用 SAP Jco library,它可用于从外部连接到 SAP 系统。配置步骤描述如下:

https://help.mulesoft.com/s/article/Enabling-SNC-in-SAP-connector

它在 Mulesoft 帮助中给出,但要点对于任何基于 Java 的系统都是相同的。

需要为 SNC 设置的最重要的 JCo 参数:

Parameter Name Description
jco.client.snc_mode SNC mode 1: SNC is activated 0: SNC is not activated
jco.client.snc_lib SNC library path Specifies the path and file name of the external library. The default is the system-defined library as defined in the environment variable SNC_LIB. Example: C:SAP\J2EE_Engine\SAPCrypto\libs\apcrypto.dll
jco.client.snc_qop SNC level Specifies the level of protection to use for the connection. 1: Authentication only 2: Integrity protection 3: Privacy protection (default) 8: Use the value from snc/data protection/use on the SAP application server 9: Use the value from snc/data_protection/max on the SAP application server
jco.client.snc_myname SNC name Specifies the SNC name. This parameter should be set to ensure that the correct SNC name is used for the connection. Example: p:CN=SAPJ2EE, O=MyCompany, C=US
jco.client.snc_partnername SNC partner Specifies the SAP application server's SNC name. It can be found in the SAP profile parameter snc\identity\as. Example: p:CN=ABC, O=MyCompany, C=US