首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ABAP中的.CRT和.KEY文件调用HTTP端点?

使用ABAP中的.CRT和.KEY文件调用HTTP端点?
EN

Stack Overflow用户
提问于 2022-11-25 19:41:47
回答 2查看 92关注 0票数 4

我试图通过从if_http_client实例化cl_http_client=>create_by_url来使用ABAP的端点。当我不需要使用经过签名的证书时,这个过程可以正常工作。通常,我只包含使用STRUST事务的证书。

但是对于这个特殊情况,我有两个证书文件:.crt.key。我可以从Postman获取端点,因为我可以在Settings -> Certificates中插入这些文件

那么,我怎样才能让它从ABAP中运行呢?如何在我的http请求中插入这些文件?我应该从ABAP代码中传递它们,还是在STRUST或其他传输中配置它?

EN

Stack Overflow用户

发布于 2022-12-02 14:50:40

使用KeyStore资源管理器工具从客户端密钥和证书创建单个pfx文件。此外,您还可以将客户端证书的链与此工具放在一起。

在本地系统上使用皂启,并使用以下命令从pfx文件创建一个pse文件:

代码语言:javascript
复制
sapgenpse import_p12 -p c:\client.pse c:\client.pfx

转到STRUST,在Enviroment->SSL客户端标识处创建您自己的证书存储。我更喜欢这个,因为我不把它们都混合在一起。然后返回到STRUST并选择PSE->Import并选择您的自定义pse文件。然后单击PSE->Save并选择您的自定义标识。

将站点SSL证书添加到新标识中。

您可以通过选择新的SSL客户端标识在SM59上尝试新的SSL客户端配置。

下面是ABAP代码示例。

代码语言:javascript
复制
REPORT ZMKY_SSL_CLIENT.

 DATA: lo_client TYPE REF TO if_http_client,
       lv_code   TYPE i,
       lv_REASON type string.

   cl_http_client=>create_by_url(
     EXPORTING
       url                = 'https://mysslclienthost.com'
       ssl_id             = 'MYSSLC'      "Your SSL Client identity
     IMPORTING
       client             = lo_client
   ).

   lo_client->SEND( ).

   lo_client->RECEIVE( ).

   lo_client->RESPONSE->GET_STATUS( IMPORTING CODE = lv_code
                                    REASON         = lv_reason ).

   WRITE: lv_code, lv_reason.
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74577287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档