使用 WebSphere Adapter for SAP Software V7.5 配置 SAP 系统和客户端之间的安全网络通信 (SNC)

了解如何使用 WebSphere Adapter for SAP Software V7.5 设置 SAP 系统和客户端之间的 SNC。本文将描述 SAP 服务器端的 SNC 配置,展示如何在 SAP 与客户端系统之间交换密钥。

Matu Agarwal, 软件工程师, WebSphere Adapters, IBM

Matu Agarwal 是 IBM India 的 WebSphere Adapters 团队的一名软件工程师,从事开发和客户支持方面的工作。他获得了坎普尔 H.B.T.I. 的计算机科学和工程学技术学位,在使用包括 JCA 在内的各种 Java 技术方面拥有 3 年半的经验。



2012 年 7 月 12 日

简介

SAP 系统包括使用密码的 SAP 授权和用户身份验证的一些基本安全措施。 本文将向您展示如何使用安全网路连接 (SNC) 扩展 SAP 系统安全,使其超越这些基本措施,包含更强大的身份验证方法和加密的额外保护。本文将介绍 IBM® WebSphere® Adapter for SAP Software 提供的连接机制,通过 SNC 建立到达 SAP 的安全连接。

先决条件

  • IBM Integration Designer V7.5(以前称为 IBM WebSphere Integration Developer)或 IBM Business Process Manager V7.5 Advanced Edition
  • WebSphere Adapter for SAP Software V7.5(后面简称为 WebSphere SAP Adapter)
  • 利用已配置好的 IDoc/BAPI 处理来访问 SAP 系统
  • 一个 SAP JCo Library 和 SAP Cryptographic Library
  • 对 IBM Integration Designer 和 WebSphere SAP Adapter 有基本的了解,有关这些产品的更多信息,请参阅本文底部的 参考资料

安全网络通信 (SNC)

SNC 是 SAP 系统体系架构中的软件层,为外部安全产品提供了一个接口。使用 SNC,您可以通过实现外部安全功能和保护来加强 SAP 系统的安全。SNC 提供了应用程序级的、端到端的安全性,以确保提供可靠的、一致的、安全的连接。

SNC 被用于保护到 SAP 高级业务应用程序编程 (SAP Advanced Business Application Programming, ABAP) 系统的 远程功能调用 (RFC) 连接。SNC 支持是作为 SAP 内核与实现 通用安全服务 API (GSS-API) 的外部安全库之间的一个层实现的。SAP 还提供了 SAP Cryptographic Library,您可以从 SAP 下载它。

WebSphere SAP Adapter 允许您通过建立一个叫做 SNC 的安全 RFC 连接来连接到 SAP 系统。下一节我们将向您展示如何使用具有 IBM Integration Designer V7.5 或 IBM Business Process Manager V7.5 Advanced Edition 的 WebSphere Adapter for SAP Software 建立到 SAP 系统的 SNC。

在 SAP 和 WebSphere SAP Adapter 上配置 SNC

1. SAP Cryptographic Library

SAP Cryptographic Library 是在 SAP 系统中执行加密功能的默认 SAP 安全产品。它符合 GSS-API V2 的要求。下载 SAP Cryptographic Library(SAP 授权需要它)。Cryptographic Library 安装包包含以下文件:

  • SAP Cryptographic Library(用于 Microsoft® Windows® 的 sapcrypto.dll
  • 一个相应的许可票证
  • 配置工具 sapgenpse.exe

2. SAP 高级业务应用程序编程 (ABAP) 系统上的 SNC 配置

在对 SNC 使用 SAP Cryptographic Library 时,必须同时为 SNC 配置服务器及其通信合作伙伴系统(WebSphere 运行时安装在该系统中)。个人安全环境 (Personal Security Environment, PSE) 必须已经配置好,上述两个组件会用它来验证和身份验证远程组件,并用它来存储公私密钥对和公钥证书。对于 SNC ,让每个组件都有自己的独立 PSE 会更好一些,因为如果所有组件共享单个 PSE,攻击者就可以欺骗客户端系统并连接到 WebSphere 服务器,而不是连接到 SAP 服务器,而客户端将无法检测该攻击。在本文中,两个系统都使用了单独的 PSE。

创建并配置服务器 PSE

您需要设置 SAP 实例配置文件参数,从而允许使用 SNC 并指定 SNC 名称。按照下方的指令配置 PSE,并在 SAP 服务器上激活 SNC:

3. 客户端系统上的 SNC 配置

本例中的客户端系统包括已经部署好了 WebSphere SAP Adapter 的 IBM Business Process Manager。 您需要在客户端上执行创建 PSE 的一次性设置过程并交换密钥。此设置是必需的,不管您是否配置了环境来支持入站或出站通信。

3a. 设置环境变量

以下是客户端系统上所需的配置步骤。按如下所示设置环境变量 SECUDIRLD_LIBRARY_PATHSECUDIR 包含步骤 1 中获得的许可票据。LD_LIBRARY_PATH 包含 sapcrypto.dll 和 sapgenpse.exe 文件。

设置环境变量
设置环境变量

3b. 创建客户端 PSE

使用 sapgenpse.exe 创建一个 PSE:sapgenpse gen_pse -v -p PSE_FILE_NAME。系统会要求您设置一个 PIN,用它来充当 PSE 密码。然后您需要输入 PSE 所有者的可分辨名称。进行以下声明:CN=myhost.mydomain, C=mycountry, S=mystate, O=mycompany, OU=mydepartment

创建客户端 PSE
创建客户端 PSE

配置 PSE 并为用户创建一个名为 cred_v2 的凭证文件。该文件允许客户端一次性访问密钥存储库。该文件仅可用于当前操作系统用户:
sapgenpse seclogin -p PSE_FILE_NAME -O USERNAME

配置客户端 PSE
配置客户端 PSE

4. 在 SAP ABAP 系统和客户端之间交换证书

SAP ABAP 系统和客户端需要交换证书,以便建立彼此信任和安全通信。

4a. 客户端证书交换

使用以下命令从 PSE 导出客户端证书:
sapgenpse export_own_cert -v -p PSE_FILE_NAME -o CLIENT_CERT_NAME

导出客户端证书
导出客户端证书

转至 SAP 服务器(在这里是 eccdev_SD1_10)上已配置好的 PSE,并使用 SAP 事务代码 STRUST 将客户端证书导入 SAP。然后使用 Import Certificate 选择上述步骤中导出的证书,并将它添加到证书列表中。

将客户端证书导入 SAP 系统
将客户端证书导入 SAP 系统

4b. SAP 系统证书交换

从服务器导出 SAP 证书:选择服务器证书并单击 Export

导出 SAP 证书
导出证书

使用以下命令将 SAP 证书导入客户端 PSE:
sapgenpse maintain_pk -v -a SERVER_CERT_NAME -p PSE_FILE_NAME

将 SAP 证书导入客户端 PSE
将 SAP 证书导入客户端 PSE

5. 为 SAP 上的客户端应用程序授权

SNC 有一个访问控制列表,因此您需要针对您的客户端为 SAP 系统创建一个条目, 以便允许为 RFC 建立 SNC 连接。在 SAP 上,转至 SM30,输入 VSNCSYSACL 并单击 Maintain。然后单击 The table is cross-client information。现在您已经完成了客户端和服务器端的 SNC 配置。

为客户端应用程序授权
为客户端应用程序授权

使用 WebSphere SAP Adapter 建立 SNC 连通性

您可以使用 IBM Integration Designer 配置 WebSphere SAP Adapter。运行 Enterprise Service Discovery 向导创建一个 EIS 导入或导出,您可以使用它来访问您的后端 SAP 系统。关于运行此向导的详细信息和配置步骤,请参阅文章底部的 参考资料。Enterprise Service Discovery 向导在 Advanced Properties for SNC 相关配置下提供了一个分区。它提供了以下属性:

  • 安全网络连接 (SNC) 名称:为客户端 PSE(在上述步骤 3b 中创建)指定可分辨名称。
  • 安全网络连接 (SNC) 合作伙伴:为服务器 PSE(上述步骤 2 中创建)指定可分辨名称。
  • 安全网络连接 (SNC) 安全级别:该属性指定了安全网络连接的安全级别。安全级别支持是由 Cryptographic Library 提供的。并非所有的安全级别都受特定库文件的支持。请根据需要从下拉菜单中进行选择:
    • 仅进行身份验证
    • 完整性保护
    • 隐私保护,等等
  • SNC 库路径:该属性指定了到达提供安全网络连接服务(上述步骤 1 中获得的 sapcrypto.dll)的库的路径。
  • X509 证书:这个可选属性指定了将用作登录票证的 X509 证书。您可以使用常规用户名和密码通过 SNC 连接到 SAP,或者通过 X509 证书(上述步骤 3b 中生成的客户端证书,已在步骤 4a 中使用名称 CLIENT.crt 导出至文件系统)。您可以通过 SAP System Trace 和适配器追踪文件验证 SNC 连接状态。关于上述属性的更多信息
WebSphere SAP Adapter 中的 SNC 配置
WebSphere SAP Adapter 中的 SNC 配置

结束语

在本文中,我们了解了到 SAP 的安全网络通信 (SNC) 的一些基础知识,了解了如何使用 WebSphere SAP Adapter 配置 SNC 连接。本文还向您展示了如何为 SNC 配置 SAP 系统和客户端系统。

致谢

作者非常感谢来自 IBM BPM Development 的 Jens Engelke 对本文的审阅。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=825586
ArticleTitle=使用 WebSphere Adapter for SAP Software V7.5 配置 SAP 系统和客户端之间的安全网络通信 (SNC)
publish-date=07122012