专属服务器_什么叫云存储_是什么

数据库 虚拟云 浏览

小编:在过去的几个月里,我参与了几个项目,其中一个混合应用程序(基于Cordova和SAP的Kapsel插件)应该使用客户端证书(X.509证书)对服务器进行身份验证。大多数项目都是针对iOS或Andr

在过去的几个月里,我参与了几个项目,其中一个混合应用程序(基于Cordova和SAP的Kapsel插件)应该使用客户端证书(X.509证书)对服务器进行身份验证。大多数项目都是针对iOS或Android,但最近越来越多的客户开始要求在Windows 8.1(或Windows 10)上提供解决方案。

我想用这篇博文来描述如何在Windows Kapsel应用程序中启用基于证书的身份验证。

在谈到证书处理时,我们应该严格区分不同的移动操作系统系统,因为行为略有不同。在iOS上,系统密钥链中的用户证书不能由您的自定义应用程序使用,因此您必须将它们插入到应用程序密钥链中。在Android上,可以直接从系统密钥库请求用户证书。appkeystore概念非常新,数据库主机,尚未完全采用。在Windows上,我们混合了这两个概念(在我看来这是相当不错的)。我们可以使用存储在系统密钥库中的用户证书,但我们也可以使用本地应用密钥库,它是我们的Windows 8.1或Win 10应用程序的一部分。

这三个操作系统的共同点是实现了"自定义证书提供程序"扩展概念,这是SMP的Kapsel SDK的一部分。因为sapfioriclient也构建在这个KapselSDK之上,所以当我们想要使用定制的FioriClient时,我们也可以使用这种方式。此外,当使用KapselSDK(或FioriClient)而不使用SMP时,我们也可以使用这个概念,因此当我们直接连接到SAP网关时。

自定义证书提供程序的想法如下:

如果我们启动应用程序,Kapsel登录插件将触发登录操作(或当使用SMP时,启动任务)。当触发此登录操作时,服务器云服务,我们可以提供一个上下文,在其中指定连接和身份验证属性。这些属性可以在应用程序中定义,但也可以在运行时动态检索,例如使用MobilePlace。当我们想使用自定义证书提供程序时,我们必须在这里指定一个标识符字符串。此字符串稍后用于检索类名。此类必须实现ICertificateProvider接口,并且将由LogonPlugin调用以加载证书。我们可以实现这个类并指定从何处获取用户证书。在iOS和Android上,如果LogonPlugin或AuthProxy插件必须处理证书验证挑战,则始终调用此自定义证书提供程序。在Windows上,当应用程序启动时,此自定义提供程序被调用一次,并负责检索证书并将其存储到应用程序的内部密钥库中。稍后应用程序将直接从密钥库加载此证书。

要总结Windows上的可能性:

即使可能性1)很小,我建议您先尝试一下,因为这将确保您的环境被正确地设置为证书使用。

在下面我将描述上一节中提到的两种方法。为此,我们需要准备一个cordova应用程序项目以及在SMP上的配置。

我将扩展我为这篇博文创建的示例应用程序

如果您不知道如何创建cordova项目以及如何使用visualstudio,我建议您首先浏览链接的博客文章。否则,您可以直接从我的github存储库的文件夹"KapselSampleRefSmall"下载示例应用程序(我将在本教程中使用它):https://github.com/MarvinHoffmann/kapsel将其放入您的cordova www文件夹中。

请准备一份用于测试的用户证书。这里我将不描述如何创建一个,但您可以使用命令行实用程序openssl或GUI工具XCA来模拟CA(我的首选证书创建和签名工具)。

我在我的SMP服务器上创建了一个示例应用程序配置。我把这个混合应用程序命名为"com.sap.mit网站.mutualtest",提供任何OData端点地址()以及新的安全配置文件。

重要的是,安全配置文件中添加了X.509身份验证提供程序。您可以告诉SMP,例如,在SMP注册连接时,公用名(CN)应该是用户名。

如前所述,我们应该开始使用预先放入系统密钥库的用户证书执行相互身份验证。当测试成功后,我们知道我们的环境设置正确,可以处理证书。

首先将您的用户证书导入系统密钥库,e、 g.通过打开您的pfx或p12用户证书文件并按照向导步骤

您可以在证书管理器中验证用户证书是否导入到正确的存储中。为此,请选择"运行"和"执行"证书管理器.msc"

用户证书应存储在文件夹Personal>Certificates

中。在测试任何真正的应用程序之前,您可以验证用户证书以及您的系统设置,您可以直接在浏览器内部的相互身份验证端口上调用SMP服务器。用于相互身份验证的标准端口(如果在安装过程中没有更改)是端口8082,因此请确保您正在调用此端口。如果一切正常,浏览器应该要求您的证书

之后,页面加载。如果出现错误或没有用户证书,您将无法看到此页面

它正在工作…

当前网址:http://vmchk.cooou.com/app/2021/0814/98947.html

 
你可能喜欢的: