我对此感到难过。 我想问一下,我怎么知道真正的客户端正在连接到我的Web服务。 我已成功在我的Web服务和我的apache tomcat服务器上设置HTTPs协议。 但是,如果没有他给我一个用户名和密码,我如何动态地验证客户端。例如,Google通过向客户提供api密钥对其客户端进行身份验证,并允许该密钥使用其Web服务。
我希望做类似的事情,我该怎么做? 希望你们能帮助我解决这个问题。
提前致谢!
答案 0 :(得分:0)
您可能应该查看Apache Santuario项目,该项目旨在实现XML的主要安全标准。
- >该库包括成熟的数字签名和加密实现。它还包括标准的JSR 105(Java XML数字签名)API。应用程序可以使用标准JSR 105 API或Apache Santuario API来创建和验证XML签名。
您可以在以下网址找到更多信息 http://santuario.apache.org/index.html
您还可以在此处找到示例: https://svn.apache.org/repos/asf/santuario/xml-security-java/trunk/samples/org/apache/xml/security/samples/signature/
专门研究KeyResolver功能
Apache Santuario项目是Apache Axis推荐的项目。 http://axis.apache.org/axis/java/security.html#Authenticating_the_caller
答案 1 :(得分:0)
我们在这种情况下尝试的是真正的面向服务。
即。我们有一个身份验证服务,它将输入作为用户凭据并返回会话ID。对于所有其他服务调用,会话ID将添加到soapheader块中。
soapHeader.addAttribute()
使用这种方法
在这种方法中,客户端应用程序必须首先进行身份验证,并使用输出,会话ID进行其他服务调用。
请求:我们还没有完全分析这种方法的安全威胁。任何建议/批评都将受到高度赞赏