问题标签 [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 回答
260 浏览

axis2 - 为什么 pwcb.getPassword 在此代码中为空

我尝试使用壁垒模块将壁垒安全添加到我的axis2 Web 服务。

所以这就是我所做的:

  1. 我已经在数据库中存储了“bobWWW”密码的哈希值和盐

在我的 PWCBHandler.java 类中

•我选择存储在数据库中的密码和哈希

•我尝试使用相同的算法pwcb.getPassword() 和相同的存储盐进行散列

•检查这个新的散列密码是否等于存储的密码

但是我经常收到 nullpointerexception 所以我决定检查并编写这段代码

我看到 pwcb.getPassword() 是空的。所以这里是 PWCBHandler.java 的代码

这是我的带有 sequeiry 标头的soaprequest

0 投票
2 回答
1766 浏览

axis2 - 为什么当我尝试我的 SOAP 请求时 WSPasswordCallback.getPassword 为空

我已经制作了一个带有 Rampart 安全性的 Axis2 Web 服务,但我不断收到NullPointerException以下信息:

所以我添加了这段代码:

这引发了异常;所以我知道问题是pwcb.getPassword空的,但不明白为什么。

这是我发送的 SOAP 请求:

这是handle我正在使用的方法:

0 投票
1 回答
1794 浏览

soap - 为 UsernameToken 身份验证和无加密设置 ws-security (Apache Rampart/C) 时出错

我在使用 Apache Rampart/C 1.3.0 设置 AXIS2/C Web 服务(axis2/c 1.6.0)时遇到问题(不要与他们的 java 对应物混淆,也就是“axis2”和“rampart”)为 UsernameToken验证。我不想加密,因为我首先尝试使用 SoapUI 进行测试;当我得到这个工作时,我会添加加密的东西(我也无法在没有安全策略的情况下设置 Rampart/c,它只会给我一个配置错误)。没有 Rampart,Web 服务工作得非常好。但是当我尝试为安全性配置 Rampart 时,我在响应中收到此错误:

当我转到 Axis2 日志时,我发现以下错误:

这很奇怪,就好像它根本找不到安全标头一样。我怀疑 SOAP 请求可能有问题,但我不知道那可能是什么。或者我发现了一个罕见的 Rampart/c 错误?

对于用户名和密码,我使用了 Rampart 示例提供的回调 .so,用户名“Alice”和密码“abcd!1234”。

以下是相关文件的完整列表(IP 地址已编辑):

服务.xml:

services.xml (替代;给出相同的错误):

SOAPUI 请求:

回复:

axis2.log(相关部分):

0 投票
1 回答
2046 浏览

axis2 - 编写 Axis2 处理程序

我正在尝试编写 2 个 Axis2 处理程序,但是缺少一些东西我不能把手放在上面

第一个处理程序应该在其他任何事情之前从一开始就开始,它将读取消息头,从中解析我想要的信息并将其保存到文件中然后继续。

第二个处理程序将在 Axis2 的 Rampart 完成操作后执行,我假设这是在安全阶段之后。它将读取文件并在其上执行逻辑(它不会触及消息上下文)

我尝试阅读 Axis2 网站上的指南,但它对初学者不太友好,如果有人可以指导我找到一种简单的方法来解决这个问题,我将不胜感激

0 投票
1 回答
407 浏览

java - 位于 tomcat lib 中的 Java 密钥库

在 Tomcat 的 lib 文件夹中拥有 java 密钥库是否有任何安全隐患?我试图将它放在 lib 文件夹之外,但后来我得到了一个找不到文件的异常。这是针对与 Rampart 相结合的 Axis2 Web 服务,因此我没有以编程方式获取密钥库,而只是给出了一个名称。

0 投票
1 回答
2011 浏览

wso2 - 使用 Apache Rampart 对 SOAP 消息进行签名和加密

我想用服务器的公钥加密一条 SOAP 消息,并用客户端的私钥对同一条消息进行签名。理想情况下,用于签名和加密的密钥是不同的。

指的是 WSO2 团队的 apache Rampart 示例。给出的这样一个示例 Rampart 配置是:

示例 no where 指定用于加密消息的服务器公钥。

上面例子中的几个问题:

1)rampartConfig.setEncryptionUser() 函数代表什么?如何使用服务器的公钥加密 SOAP 消息?

2)rampartConfig.setUserCertAlias() 的作用是什么?签约?加密或两者兼而有之?

谢谢。

0 投票
1 回答
573 浏览

web-services - Apache 壁垒未加载安全策略

我正在开发使用嵌入式axis2servlet 和rampart(均为 1.4 版)创建的 Web 服务。我创建了正确的目录结构并放置了所有必需的模块和库。

在没有任何安全策略的情况下使用它时一切正常。但是,当我添加安全策略时,将任何请求发布到我的网络服务会导致:

这是我的 service.xml 文件(已删除机密详细信息) http://pastebin.com/bPPiuRMM

有谁知道如何解决这个问题?

0 投票
1 回答
1450 浏览

wcf - Axis2/Rampart Webservice 的 WCF 客户端使用没有客户端证书的 WS 安全性

我只是在设置 WCF(.NET 4.0) webservice 来调用 Axis2 Rampart webservice 时遇到一些问题。我是 WCF 的新手,我没有找到完全适合这种特殊情况的教程。以下是事实:

我必须调用的网络服务是 Axis2 Ramart 服务。我需要构建的客户端使用 WCF/.NET 4.0。Web 服务使用 SOAP 1.1 和 WS-Security (Messagesecurity)。

WS-Security 应该像这样工作:

服务器提供带有公钥的证书。客户端生成一个秘密对称密钥。客户端使用服务器公钥加密此密钥。这个加密的密钥被写入 Soap-header。客户端使用密钥加密 Soap 请求的正文。(事实上​​,我从 web 服务提供商那里得到的文档说身体是用​​服务器公钥加密的,但是在他们提供的示例请求中,加密方法被声明为 aes128-cbc ,它是一个对称密钥 AFAIK)

所以这就是我必须做的。到目前为止,我所做的是尝试了几个教程中的一些自定义绑定。但是我发现的所有示例都使用服务器和客户端证书,并且我没有设法以适合我的方式调整这些绑定。

所以这里有一个示例请求,显示了请求的样子:

也许有人可以告诉我如何做到这一点,或者在哪里可以找到一些教程。

先感谢您。

这是我实现自定义绑定和消息编码器后得到的响应:

这是我的 MessageEncoder 的 ReadMessage-Function(我知道这不是解析 Xml 的最佳方式)。它删除了两个派生键之一:

我想知道消息如何显示为字符串 (newMessage.ToString()) 因为正文是 shon 是 ...stream ....

问题是我收到以下错误消息:

所以我剥离了此处描述的安全节点http://webservices20.blogspot.de/2012/04/when-enableunsecuredrespose-requires.html

这是剥离的共鸣:

现在服务完成没有错误,但结果对象为空。-> 示例:

结果 = testserviceproxy.testservicefunction(); 结果为空;

0 投票
2 回答
396 浏览

java - 壁垒中是否不可能同时具有传输级安全性和消息级安全性?为什么?

我正在使用壁垒来保护来自 Web 服务客户端的通信。

按照规范,我定义了一个非对称绑定断言来提供消息级别的安全性,但我也希望通过 SSL 与 web 服务进行通信,因此我还定义了一个适当的传输绑定断言。

效果是我的客户端能够通过 SSL 连接到 web 服务,但是在发送的消息中,没有签名 - 似乎非对称绑定断言被忽略了。

真的是这样吗?如果是这样 - 这是壁垒中的一个错误,还是 WS 安全策略规范以某种方式禁止它(我还没有找到任何此类信息)?

查看壁垒的 MessageBuilder 类源,我发现了这一点:

(整个代码: http: //grepcode.com/file/repo1.maven.org/maven2/org.apache.rampart/rampart-core/1.6.2/org/apache/rampart/MessageBuilder.java

这再次让我想到,一个人只能使用一个安全绑定,如果有更多,则根据上面的代码优先选择一个。

0 投票
1 回答
1021 浏览

java - 在轴/壁垒客户端中禁用 InclusiveNamespaces

我正在使用轴/壁垒连接到 Web 服务,并被告知要删除 InclusiveNamespaces,因为 prefixList 是“”,这是不允许的。我怎么做?

这部分看起来像

是否可以将轴/壁垒配置为在包含命名空间为空时不打印它?

我正在使用轴/壁垒 1.6.2 并连接到 .NET 服务

任何想法如何存档?或者我如何让它呈现一个非空的 prefixList ?