2

我们有许多用 C# 开发的应用程序,它们使用 SAP .NET 连接器 3.0 与 SAP 交互。我对此非常熟悉,最近有人要求我通过使用 SNC(安全网络通信)选项来保护这个接口,我也能够配置并开始工作。

但是,我想完全通过配置文件而不是以编程方式配置我的 SNC 目的地。要指定不安全的连接,我可以在配置文件中指定以下目标:

<SAP.Middleware.Connector>
    <ClientSettings>
      <DestinationConfiguration>
        <destinations>          
          <add NAME="MySAPName" USER="MyUser" PASSWD="orly" CLIENT="100" LANG="EN" ASHOST="mysapname.mydomain.com" SYSNR="70" MAX_POOL_SIZE="20" IDLE_TIMEOUT="10"/>          
        </destinations>
      </DestinationConfiguration>
    </ClientSettings>
</SAP.Middleware.Connector>

但是,为了创建一个安全的SNC 连接,到目前为止,我只是想出了如何通过以编程方式配置目标来做到这一点,例如:

  Params.Add(RfcConfigParameters.AppServerHost, "mysapname.mydomain.com");
  Params.Add(RfcConfigParameters.Name, "MySAPName"); 
  Params.Add(RfcConfigParameters.SystemNumber, "70");                                              
  Params.Add(RfcConfigParameters.Language, "EN");
  Params.Add(RfcConfigParameters.Client, "100");
  Params.Add(RfcConfigParameters.User,"MyUser");
  Params.Add(RfcConfigParameters.Password, "orly");                    

  // Additional Params for SNC, not settable in config?
  Params.Add(RfcConfigParameters.SncMode, "8");                    
  Params.Add(RfcConfigParameters.SncPartnerName, "p:CN=RemovedForConfidentiality, OU=, O=, L=,C=GB");                                                            
  Params.Add(RfcConfigParameters.SncMyName, "p:CN=MyRemovedPartnerName, C=GB, O=, OU=");
  Params.Add(RfcConfigParameters.SncQOP, "8");
  Params.Add(RfcConfigParameters.Trace, "2");

因此,鉴于这种情况,我的问题是:我可以仅使用配置文件配置基于 SNC 的 SAP 目标吗?如果是这样,怎么做?

我意识到我可以将 SncPartnerName 等存储在 AppSettings 中,但如果可以在 DestinationConfiguration 部分指定它会更好。但是,我似乎找不到任何关于此的文档。我应该注意我知道 SAP SCN 网站,并且在那里查看过没有成果尽管我无法访问 SAP Service Marketplace。

4

1 回答 1

2

我的一位同事设法找到了解决方案。SNC 所需参数的示例配置文件如下:

<SAP.Middleware.Connector>
    <ClientSettings>
      <DestinationConfiguration>
        <destinations>          
          <add NAME="MySAPName" USER="MyUser" PASSWD="orly" CLIENT="100" LANG="EN"
                ASHOST="mysapname.mydomain.com" SYSNR="70" MAX_POOL_SIZE="20" IDLE_TIMEOUT="10"
                SNC_PARTNERNAME="p:CN=mycn.com, OU=A, O=B, L=C, C=GB" 
                SNC_MYNAME="p:CN=myname.com, C=GB, O=A, OU=B" 
                SNC_QOP="8" SNC_MODE="8" TRACE="2"/>          
        </destinations>
      </DestinationConfiguration>
    </ClientSettings>
</SAP.Middleware.Connector>
于 2013-04-22T08:20:57.707 回答