问题标签 [rampart]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3272 浏览

web-services - 对于高安全性应用程序,我应该使用哪个 Web 服务引擎/框架?

我在一家为银行应用程序开发高度安全的 Web 服务的公司工作。将创建和使用 Web 服务,以便与银行已在使用的应用程序建立通信。Web 服务将部署在 JBoss 服务器上。哪些 Web 服务框架/引擎最适合高安全性应用程序?我做了一些研究,并入围了一些。它们如下。

  • 阿帕奇轴2
  • 阿帕奇 CXF
  • JAX-WS

我什至读过 JBoss 服务器有一些内置的 Web 服务引擎,但还没有收集到太多的信息。我还读到 Apache Axis2 使用 Apache Rampart 实现安全功能。Apache Rampart 的效果如何?是否适合上述应用?除了 Axis2 的 Rampart 之外,还有其他安全实现吗?

我应该选择哪个框架/引擎?除了上面提到的那些,还有没有什么好的可靠的框架,有强大的社区支持?

0 投票
3 回答
1619 浏览

php - WSO2 WS 安全密码只有没有证书可能?

我们想创建一个使用 WS 安全性但没有签名和加密的 PHP WSO2 Web 服务客户端。相反,我们想使用一个简单的密码。问题是:我们总是收到证书错误(见下文)。我们真的必须安装证书吗?如果是的话:在哪里?Java 密钥库?

环境:PHP 5.3.10、WSO2 PHP 2.10、Apache 2.2.x

wfs_client_log:

[错误] key_mgr.c(295) [rampart][rampart_signature] 未指定公钥证书文件。[错误] armart_signature.c(856) [rampart][rampart_signature] 无法获取证书 [错误] armart_sec_header_builder.c(131) [rampart][shb] 签名失败。错误 [错误] rampart_sec_header_builder.c(601) [rampart][shb] 非对称绑定失败 [error] rampart_out_handler.c(130) [rampart]安全标头构建失败。[错误] phase.c(224) 处理程序 RampartOutHandler 在阶段安全性内调用失败 [错误] engine.c(657) 调用阶段安全性失败

PHP代码是:

0 投票
1 回答
1931 浏览

web-services - 同一服务中的 UsernameToken 和 BinarySecurityToken

我有一个新要求,但我不知道如何开发它,或者是否可能,问题是我的应用程序有一个 Web 服务器,但客户端想用两种不同的安全策略调用它,有时用 UsernameToken 调用它有时使用 BinarySecurityToken。

客户端将发送的标头是:

对于用户名令牌

对于 BinarySecurityToken

因此,对于 UsernameToken,我在 services.xml 中使用此代码 .. 它工作正常,在 PWCBHandler 中,我获取用户名和密码,并根据数据库对其进行验证。

问题是我不知道如何实现 BinarySecurityToken 的安全性,以便获取 base64 字符串并用它做任何我想做的事情,另一个疑问是我不知道我是否可以结合两个安全策略在同一个服务中,或者我应该公开另一个服务。

0 投票
2 回答
1543 浏览

axis2 - 无法找出原因 Axis2+Rampart 服务器内部错误 500

请帮忙。我在构建服务器端壁垒服务时遇到了一个问题。我使用 Axis2 服务器接收 Rampart 客户端请求。我在 Eclipse 轴客户端中得到了不好的响应。服务器端也在本地。请参阅下面的完整堆栈跟踪(log4j)。我只能看到 JuiCEProviderOpenSSL 的 ClassNotFound 异常,但有人说我可以忽略它。而且我怀疑粗体部分会导致此问题,因为之后构建器开始创建故障消息。所以,这让我发疯。我对这个问题一无所知。请帮我。谢谢。还有,原谅我的格式,第一次在这里问。TT

axis2.log - log4j

0 投票
0 回答
309 浏览

axis2 - 从 Axis2 STS 客户端调用基于 Metro 的安全令牌服务

我想从 Axis 2 STS 客户端调用使用 Metro 2.2 框架创建和部署的安全令牌服务。我正在尝试做同样的事情,但遇到以下问题:-

我深入研究了源代码,发现在SecureConversationTokenBuilder类代码中是这样写的:-

然后我进入 SP11Constants.getInclusionFromAttributeValue(inclusionValue) 并看到以下代码:-

作为INCLUDE_ALWAYS = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always"这不等于在 policy.xml 中由 Metro 定义的

http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Always

因此,上面的代码总是返回 -1 并依次抛出运行时异常,如下所示:-

只是想知道是否可以从 Metro 框架中创建的安全令牌服务 (STS) 获取令牌,该服务是从基于 Axis2 的 STS 客户端调用的。请告知,因为我正处于两者之间。

提前致谢。

0 投票
3 回答
11242 浏览

web-services - Axis 2 和 Rampart - 为什么服务在请求中返回 wsse:Security 标头?

我正在连接到安全服务。

我有一个配置为使用 jks 文件提供证书的 SOAP UI 项目,以及允许我获得有效响应的适当安全设置。

我已经使用 AXIS 2 和 Rampart 从 JAVA 项目创建 SOAP 请求。使用 TCPMon,我设法获取了 SOAP 请求。

当请求在 JAVA 项目中运行时,我只得到响应:

org.apache.axis2.AxisFault:缺少 wsse:请求中的安全标头

但是如果我接受相同的请求,在 TCPMon 中捕获并将其放入 SOAP UI 项目中,我会成功获得响应。

有人有什么想法吗?


这是我正在使用的 WS-POLICY 文档:

谢谢艾伦

0 投票
1 回答
1346 浏览

java - Axis 2 和 Rampart 如何在 policy.xml 中仅指定传出安全性

我正在使用 Rampart 生成请求。我有一个用于应用安全性的 policy.xml。

当 Rampart 正在寻找安全标头时,我的响应出现异常,但不存在。

我是否仍然可以使用我的 policy.xml 并指定我不需要入站安全这一事实,还是我需要做其他事情?

政策:

0 投票
1 回答
225 浏览

java - Apache Tomcat 安全性

我快要完成我的Tomcat 配置了。

我遇到的麻烦与我的客户端应用程序和浏览器有关。

我希望当用户使用他的浏览器访问 Tomcat 时,它只能通过 https 访问,以便我可以使用证书进行身份验证。

在我的客户端应用程序中,当我与axis2通信时,我只想使用http,所以我不会超载服务器。我正在使用带有使用证书的密码回调的 apache 壁垒,因此不使用 https 没有问题。

现在,这就是问题的开始。这是我设法开始工作的内容:

在 tomcat 上允许 SSL,客户端认证就像浏览器的魅力一样。

但是,服务器仍然可以通过

关于这个问题,这是我的 server.xml:

它不应该重定向到 8443 端口吗?

我的客户端应用程序可以通过 8080 端口毫无问题地进行通信。

那么我做错了什么?

0 投票
3 回答
4307 浏览

java - Axis2/Rampart 客户端自签名证书

我正在尝试使用安全客户端访问 Web 服务。

我生成了两个文件:

nb19200.pkcs12

服务器.jks

我将服务器密钥库粘贴到 tomcat 并将 pkcs12 上传到我的浏览器,一切正常。

现在,在我的客户端应用程序中,我尝试了以下操作:

首先,导出服务器证书,我使用了以下命令:

keytool -exportcert -alias servercert -file servercert.cer -keystore server.jks -storepass * *

然后将其导入到没有任何内容的密钥库中:

keytool -importcert -keystore truststore.jks -alias servercert -file servercert.cer -v trustcacerts -noprompt -storepass * **

我的代码如下:

好的,使用此配置,我收到以下错误:

引起:java.net.SocketException:连接被远程主机关闭

如果我评论前两行,我得到的错误是:

原因:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

那么我做错了什么?

我完全迷路了。

更新完整代码:

http://pastebin.com/8xTYK3tY

堆栈跟踪:

0 投票
1 回答
905 浏览

php - WS02 / WSF PHP 2.1.0 用户名令牌问题

我尝试使用 usernameToken 呼叫合作伙伴 WS。我在 php5.2.x 下使用那个 ws02 wsf_2.0.0 并且它摇摆不定。现在我们要迁移到基于php5.3的不同解决方案上,好在ws02提供了一个2.1.0标签,兼容php5.3。我花时间阅读了这个新版本的新特性和文档,尤其是关于 usernameToken 的内容。我了解此版本通过证书和私钥使用有关 usernameToken 的签名。我猜是 AsymetricTransportBinding 政策的 b/c。就我而言,我不想通过证书或其他方式签署任何东西。我还读到 ws02 在单独的 xml 文件中提供了一种回退以避免任何签名。

在阅读了许多帖子后,论坛我需要社区 b/c 的一些帮助,我完全被困住了。

这是用于在 php5.3 - wsf 2.1.0 中请求 WS 的代码(使用 HTTP)

在这一步:

  1. 我激活了调试跟踪(日志级别 4)
  2. 我确认我的“to”正在使用根据 wsdl 定义的 http

    wsdl:port name="CalculationServiceHttpPort" binding="tns:CalculationServiceHttpBinding" wsdlsoap:address location="http://www.xxxx.xx/comparatorservices/CalculationService" /wsdl:port

现在从调试日志中我发现了这个:

所以我的第一个想法是嗅探流量,尤其是工作(wsf_2.0.0 / php5.2.x)和损坏(wsf_2.1.0 / php5.3)之间的SOAP Header

这是 2.0.0(工作)

而 2.1.0(不工作/坏了)

如您所见,唯一的区别来自 wsse:Security 命名空间。(缺少 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ )

就这样 ...

根据调试日志检查第 91 行的rampart_in_handler.c 说:

意思是……soap_header 是假的……但是为什么呢?有没有聪明的人来解释什么是错的?

注意 1:我检查了从工作( 2.0.0 )发送给合作伙伴 WS 的策略,似乎使用了 AsymetricBinding ......只要在 2.0.0 中我们没有提供任何证书或密钥,这很奇怪。

注意 2:我还尝试将签名的用户名令牌与经典的 WSPolicy 对象数组参数一起使用 - 我创建了一个 x509 证书和私钥,然后使用这些函数加载这些文件并使用数组参数将其加载到 WSSecurity 构造函数中......但是我收到同样的错误/嗅探是一种痛苦 b/c 数据被加密或类似的东西(这似乎是正常的)

注意 3:目前在 Ubuntu10.04-3LTS 上使用来自 apt-get 的预编译 php 包进行测试

请帮助!