Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
AlexDong
Product and Topic Expert
Product and Topic Expert
经常有客户或者伙伴为SAP集成套件(CPI)的证书问题所困扰,这里我们利用SAP的社区博客就证书相关的问题进行一次全面的总结和陈述,希望能够解惑,如果有相关疑问也欢迎能够提问或者指正。

作者:sam_sunalan.han#overview#content:blogposts 均来自SAP大中华区客户成功部门




 




技术背景


SAP Cloud Integration Suite作为集成套件,用于集成SAP系统与第三方集成的中间构件。在集成过程,安全性是其中较为重要的一环,为了保证整个集成环节中的安全性,SAP提供了安全证书机制保证系统间建立安全的链接,以及在服务端和用户端安装SSL安全证书。

本文根据通信场景综合两种情况:入站(inbound)和出站(outbound),读者可根据入站和出站两种场景去更新相关系统证书。


目前各大CA机构颁发的SSL证书为一年有效期,存在过期续订和更新的问题。如果未及时更新证书,会存在通信握手失败的问题,因此对于运维和实施人员需要关心以下系统的证书有效期提示。
以下提示出现时,您需要注意务必更新SSL证书,否则会导致集成场景不能正常工作,影响业务系统。

情况1

S/4HANA Trust Manager(TCODE: STRUST)系统中证书列表中出现证书过期的提示


情况2

管理员登录S/4HANA系统时,出现SSL过期提醒


情况3

S/4HANA ABAP调用CPI接口时,抛出异常信息。


情况4

CPIs管理员登录CPI开发界面下面Monitor —> Manage Keystore Valid Until出现红色提示。


Outbound外围系统SSL证书过期提示



Inbound CPI SSL证书(3个根目录证书)有效期提示



入站(Inbound)场景


入站是指,从发送方系统到CPI任何请求都会通过负载均衡器, 负载均衡器证书允许发送方系统与负载均衡器进行 SSL 握手,并允许租户入站通信。

对于以下调用情况无需做任何处理

  • Cloud Integration租户(发送方是CPI的用户)

  • 在外部或发送器系统上

    1. 发送者是浏览器或 SoapUI、Postman 等工具,在租户上调用 OData或 iFlow(使用端点 URL)

    2. 发件人是 SuccessFactors、C4C、S/4HANA Cloud 或任何 SAP Cloud 解决方案

    3. 通信出站且租户向外部系统发送请求




解决方案



  1. 准备证书。证书分为一年期和多年期,可以根据您当前安全要求选择1年期和多年期的证书。多年期证书下载(SAP推荐方式)如下

    • 登陆CPI,进入Monitor, 点击KeyStore。 


    • 下载三个证书 sap_digicert global ca g2,sap_digicert global root ca,sap_digicert global root g2。这个三个证书都需要导入到S4系统中。一年期证书下载方式如下

    • 找到部署好的Endpoint地址,复制到浏览器中。

    • 在浏览器下载可用的一年期证书。



  2. 打开SAP GUI,输入Tcode: /nstrust

  3. 点开 SSL client SSL client (Anonymous or specific Client PSE) >> <server name> >> certificate list注意:请根据实际Client证书路径选择要导入的证书。常用的: SSL Client SSL Client(标准), SSL Client SSL Client(匿名)。如果不清楚,请咨询Basis工程师。

  4. 从本地系统依次导入下载的三张SSL证书。点击编辑,导入证书。

  5. 点击添加到证书列表

  6. 导入之后,再次点击编辑按钮,保存证书链条。

  7. 证书现已添加到 SAP 系统的 SSL 客户端 SSL 客户端(匿名)或特定客户端 PSE 信任存储中。 保存 PSE。 对于较旧的 NW 版本,ICM 可能需要重新启动





        出站(Outbound)场景


        出站(Outbound)是指从SAP Integration Suite集成套件发向其他目标系统的请求,这些目标系统可能是SAP自家的云或者地端系统,也可能是非SAP的第三方系统。我们需要澄清的是,在上一步入站场景中我们提到的SSL证书是SAP集成套件的服务器证书,用来验证站点的所有者(SAP集成套件),而在出站场景中提到的SSL证书指的是SAP集成套件作为发送端的客户端证书,用以标识客户端(SAP集成套件),这两者是不一样的,但是都可以在同一个地方找到。

        解决方案



        1. 登陆CPI,进入Monitor, 点击KeyStore。

        2. 找到名称为第三方过期的的证书,以163服务器为例。

        3. 下载第三方服务的SSL证书。

        4. 在CPI Keystore中更新第三方SSL证书。过期的第三方SSL证书完成了更新,重新调用测试是否工作正常。


        SAP Cloud Connector (SCC)证书更新


        解决方案


        要更新子账户证书,请按如下步骤执行

        1. 在SCC管理界面中,从左侧菜单中选择SCC连接的BTP子账户。



        2. 在页面右上角,点击“刷新证书”按钮

        3. 在弹出的对话框中输入BTP子账户的用户名和密码,然后点击“刷新”,更新后的证书将自动安装到您的SCC中。


        如何配置证书过期邮件提醒


        为了避免SCC证书过期,导致SCC与BTP子账户连接断开,进而导致集成流失败,影响正常业务,您可以在SCC配置证书过期邮件提醒,在证书过期前提前收到邮件通知。

        首先,需要配置SMTP服务器信息:

        1. 进入SCC管理界面,在左侧菜单点击“Alerting”

        2. 点击右上角“Email Configuration”按钮,在弹出的对话框中输入以下信息

          1. Send to: 邮件收件人

          2. Sent from: 邮件发件人

          3. SMTP server: 您的邮箱SMTP服务器地址

          4. SMTP端口: 您的邮箱SMTP服务器端口

          5. TLS enabled: SMTP服务器是否需要打开TLS连接

          6. User和Password: 发件人邮箱的登录账号密码



        3. 保存并测试发送邮件,确保能收到SCC发出的邮件下一步,配置邮件提醒的具体内容:

          1. 在Alerting界面,点击Observation Configuration

          2. 在弹出的对话框中,打开最下面的Certificate开关,并输入证书过期前多少天发送提醒

          3. 如有其他需要发送邮件通知的内容,可以同时打开对应开关,如CPU使用率,磁盘剩余空间阈值,SCC与BTP连接的健康度等

          4. 保存






        SCC背景知识



        1. SCC使用场景在企业的IT环境中,有许多系统是仅允许在企业内部网络环境访问的。但是,由于SAP集成套件是一个在公有云环境的SaaS,如果要与内网的系统做集成,就需要一个从外网访问内网的机制,而SCC就是实现这个机制的工具,你可以理解为类似反向代理的原理。

          从架构上来看,SCC必须安装在企业内网里的一台服务器上,并且这台服务器需要具备访问公网的通路,或至少需要能访问SAP BTP平台的通路。下面的架构图展现了SCC的在不同网络环境所处的位置,以及和BTP平台连接的通路。



        2. SCC所使用的证书及其作用证书用于TLS安全传输认证使用,SCC通过使用TLS隧道与 SAP BTP平台建立连接。

        3. 如何确认集成场景中有没有使用SCC?如果您不确定在SAP集成套件的集成场景里有没有使用SCC,可以通过在集成流integration flow中,sender或receiver的proxy type是on-premise,这就代表集成流需要通过SCC去访问内网的系统

        4. 如何找到SCC所在的服务器?如果您是SAP S/4HANA PCE私有云客户:

          • 请查询您的系统交付文档,里面如果有系统名为DCL或PCL的系统,即为安装了SCC的服务器(DCL=SCC测试系统,PCL=SCC生产系统)

          • 系统交付文档会列出SCC管理页面的访问地址,以及管理员的用户名/密码等重要信息


          如果您是在本地网络环境部署的SCC,请自行查询相关的服务器访问信息

        5. 如何查询SCC证书是否过期?步骤如下:

          1. 登录到SCC管理界面(一般来说管理界面的地址是:http://<scc_hostname>:8443/),并使用管理员账号登录。如果忘记管理员账号密码,可以参考SAP Note 2388242重置管理员账号密码。

          2. 在管理界面左侧菜单,点击SCC所连接的BTP子账户ID

          3. 如果证书过期,Subaccount Certificate会显示红色字样“Certificate has expired”(如下图)。如果还未过期,会显色证书过期时间(绿色字样)





        参考文档



        1. [Upcoming Exchange of Cloud Integration Server Certificate – Runtime](https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=598213575#Whenyougetanemailsaying<ActionRequired>SAPCloudIntegrationUpcomingExchangeofCloudIntegrationServerCertificate–Runtime-downloadcertificate)

        2. 3193513 - Cloud Integration Certificate Is Expiring in STRUST

        3. Cloud Integration – Keystore Monitor now available for Tenant Administrator

        4. How to configure HTTPS Inbound Connection in Cloud Integration Cloud Foundry using Client Certificat...

        5. SAP S/4HANA: Maintaining Certificates in Trust Manager

        6. SAP Cloud Connector更新子账户的证书

        7. Cloud Connector 邮件提醒设置