2011-02-14 60 views
1

在我们的web应用程序IdP启动的Web SSO简介我们作为身份提供商(IDP),它通过登录屏幕,用户名/密码验证用户身份。成功验证后,我们希望显示最终用户可以点击访问合作伙伴(服务提供者)网站的超链接列表。我们计划完成这些使用SAML 2.0和HTTP POST结合使用Java和SAML 2.0

该消息将被放置在HTML FORM内作为名为SAMLResponse一个隐藏的形式控制如下所示

...

如我是新手,以实现SAMLResponse的在JAVA JSP链接隐藏的元素,我有以下查询 - 如何生成SAMLResponse对象JAVA,然后使其作为隐藏字段 - 请指出我的例子 - 如何进行数字签名的SAMLResponse在JAVA - 如何在JAVA

SAMLResponse加密是否有在Java世界中一个等效的方法?是否有常用servlet容器或应用程序服务器的解决方案和/或教程?

回答

1

你可能想从http://shibboleth.internet2.edu/,一个开源的IDP和SP执行一看的Shibboleth。我发现它非常成熟,尽管整个SAML的东西并不是完全无关紧要的。然而,一旦它工作,它似乎工作得很好。恕我直言,使用经过验证的实现在安全关键的上下文中是一个更好的想法,而不是对所有细节的理解不足。这使得你自己的实现更容易出错,因此容易受到漏洞的影响。

在任何情况下,你至少可以看的IdP组件的源代码,以获得有关如何做某些事情的提示,你应该仍然决定推出自己的实现。

http://svn.middleware.georgetown.edu/view/java-idp/branches/REL_2/src/main/java/edu/internet2/middleware/shibboleth/idp/

+0

谢谢丹尼尔。只是想澄清一下,我们并不是在寻找全面的SAML解决方案,我们打算将SAMLResponse作为隐藏字段嵌入到HTML表单中,并在用户点击链接时执行HTTP-POST。所以把它归结为 - 如何在Java中创建SAML响应 - 如何进行数字签名SAML响应在JAVA和如何加密在JAVA SAML响应(我们计划使用PGP),但不知道该用什么样的数字签名。 – bansi 2011-02-15 15:14:40