问题标签 [opensaml]

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 回答
231 浏览

java - 将 Netty 应用程序转换为 SAML2.0 服务提供商端点的选项

我有一个使用 Netty 4.x 框架的应用程序,它充当某种服务器。身份验证必须是联合的,所以现在我需要将其转换为 SAML2.0 服务提供者。

我做了一些研究,我担心的是,为了使用现有的 SAML2.0 解决方案,即 OpenAM、PingFederate,服务提供者必须是在某种 Web 容器中运行的 Web 应用程序,而我的情况并非如此项目。这是真的?

我对单点登录和联合世界非常陌生,我非常感谢提供的任何信息和提示。

0 投票
1 回答
2013 浏览

java - OIOSAML 的 Bouncy Castle Maven 依赖项

OIOSAML项目使用由Apache Ivy管理的Bouncy Castle API

ivi.xml 的一部分:

我使用具有相同依赖项的Maven 。pom.xml 的一部分:

但是,我找不到字段subjectKeyIdentifier和课堂authorityKeyIdentifierX509Extension

部分SecurityHelper课程:

X509Extension班级:

使用 OIOSAML 需要使用哪个版本的 Bouncy Castle API?

0 投票
1 回答
2061 浏览

java - OIOSAML AuthnResponse:无法加密断言

我想实现一个简单的场景:

  1. 用户试图访问信息系统的受保护资源
  2. 信息系统向身份提供者发送请求以对用户进行身份验证
  3. 身份提供者验证用户是否有打开的会话,如果没有活动会话,则执行用户身份验证(身份提供者将用户重定向到可以输入用户名/密码的网页)
  4. 如果用户成功通过身份验证,身份提供者会向信息系统发送包含用户身份信息的语句集
  5. 根据从身份提供者收到的信息,信息系统验证用户是否可以访问受保护的资源

作为信息系统(服务提供商),我使用OIOSAML。基于Shibboleth的远程 idP (在客户端,关于它我什么都不知道。只是它是在 Shibboleth 的基础上编写的)

来自文档

OIOSAML.java 服务提供者包实现了一个兼容 Servlet 的 SAML 服务提供者,用于 SAML 联合。该软件包实现了作为符合 OIOSAML 的服务提供商工作所需的所有功能。

该包的主要组件是处理用户身份验证的 servlet 过滤器。过滤器检查用户是否已经通过身份验证,如果没有,则将用户重定向到 SAML 身份提供者。当用户返回 SAML 断言时,断言得到验证,并为用户创建一个新会话。应用程序可以通过编程 API 访问接收到的断言及其属性。

IdP 和服务提供商配置通过标准 SAML 元数据处理。

我的 web.xml:

我的 oiosaml-sp.properties:

生成AuthnRequest

结果URLEncode字符串:

系统工作,当我通过受保护的映射执行请求时,我得到身份提供者的登录页面,我可以在其中输入几个登录名/密码以继续。但是,标识提供者会发送此响应:

所以,

这是什么意思以及如何克服它?

0 投票
1 回答
1493 浏览

java - OIOSAML:服务端点设置问题

我编写了一个基于OIOSAML的带有 SP 启动 Web SSO 场景的简单系统。为了测试系统,我将它部署在远程主机上。

但是AssertionConsumerServiceURL,在我指定 URL 的地方,Shibboleth idP(基于 Shibboleth 的 idP)应该返回的答案没有被调用。

SAMLAssertionConsumer- 只是一个简单的 servlet,像这样:

首先,我只需要确保响应到来。

我的 web.xml:

我的 oiosaml-sp.properties:

生成AuthnRequest

有一些 JSP 页面 private.jsp,我向它发出请求:

在此请求之后,我重定向到身份提供者的登录页面:

输入几个登录名/密码,然后……什么都没有。打开带有一些常见错误描述的页面:

错误

处理请求时发生错误。

不工作,我的 servlet SAMLAssertionConsumer,控制台很清楚。但是,如果我直接向我的 servlet 提出请求SAMLAssertionConsumer

然后它工作。当然。

我想知道如何正确配置断言消费者服务。那是 SP 元数据的一部分,我在其中指定了断言使用者。

0 投票
1 回答
2901 浏览

java - 通过集成 Spring SAML(作为 SP)和 SimpleSAML(作为 IdP)来转发错误

为了在我的 web 应用程序中支持SSOSLO,我使用Spring Security SAML Extension实现了一个服务提供者

代码在GitHub上可用:vdenotaris/spring-boot-saml

通过使用SSOCircle作为身份提供者一切正常。

现在,我正在尝试基于Simple SAML链接另一个 IdP ,在这种情况下 SSO 失败。

分析我的应用程序服务器(Apache Tomcat 7.0.54)上的日志,我发现了这些错误:

有没有办法解决这个问题?

问候,V。


春季调试日志:


Tomcat 服务器.xml

0 投票
2 回答
75 浏览

oracle - 使用 Oracle 作为我的测试身份提供者是否可行 - SAML

我正在使用 SAML2.0 协议,我想成为我身边的服务提供商。

我正在使用 opensaml 库来构建我的提供程序。我需要一个身份提供者来测试我的设置。

我可以使用 Oracle 作为我的测试身份提供者吗?可以免费使用吗?我已经在使用 salesforce 作为我的测试 Idp。我需要另一个 Idp 来测试。

概括 :

我可以使用 Oracle SAML2.0 作为身份提供者来测试我的服务提供者吗?如果不建议我其他基本上是可配置的。

编辑:如果可以使用 Oracle,任何人都可以建议配置它的方式吗?

提前致谢。

0 投票
4 回答
7243 浏览

opensaml - 如何使用 OpenSAML 设置 Signature DigestMethod 算法

我们可以设置签名算法如下:

我正在尝试找到一种方法来设置这样的 DigestMethod 算法。是否可以通过 OpenSAML API 实现?非常感谢任何输入。

更新:为清楚起见,添加示例签名。这个问题关心的是其中的 DigestMethod 元素。

更新:弗拉基米尔的回答有效。但是,该解决方案似乎是线程不安全的?在我的应用程序中,我们只引导 opensaml 一次,然后由具有不同配置的不同线程使用 - 例如不同的签名算法。有没有办法以线程安全的方式做到这一点?

更新:Shibboleth IdP 使用 opensaml,根据Shibboleth IdP Wiki,目前这是一个全局配置。因此,无论 IdP 还是 SP 端,如果使用 opensaml 处理 SAML 消息,则应该存在此限制。以下是该文章的摘录:

更改 IdP 签名/摘要算法和相关设置目前是一项全局操作。该算法将针对与之交互的所有依赖方进行更改。在您确认所有依赖方都可以使用您选择的新算法处理响应之前,请勿进行此更改

更新:终于找到了完成这项工作的方法。已将其添加为答案。

0 投票
3 回答
2286 浏览

java - Weblogic 12c 上的 Spring SAML

我目前正在开发一个使用 Spring SAML ( http://projects.spring.io/spring-security-saml/ ) 项目作为我们身份验证的一部分的应用程序。我知道它仍在 RC 中,但我们正在开发的应用程序也是如此。当部署到 Tomcat7 时,我们已经集成了库并且功能齐全,但在部署到 Weblogic 12c (12.0.1.2) 时遇到了问题。在没有抛出任何错误的 Weblogic 上,断言值将被解密为空无错误。

问题似乎出在 Xerces 库中。据我所知,Spring SAML(由于 OpenSAML)需要 2.10.0,但 Weblogic 提供了 2.8.0 的 Xerces 库。我试图通过在项目 WEB-INF/lib 文件夹。这修复了 Spring SAML 的解密问题,但破坏了 Weblogics 解析 JSP 页面的能力。我在下面包含了未升级和升级的 Xerces 异常的部分堆栈跟踪。如果有人知道如何正确解决此问题,以便 Spring SAML 可以在不破坏默认功能的情况下运行 Weblogic,我将不胜感激。

这是更新 Xerces 之前的堆栈跟踪

这是将 Xerces 更新到 2.10.0 后的堆栈跟踪。

0 投票
2 回答
4947 浏览

java - Opensaml 错误接收正确的解组器

我在 opensaml2.6 运行此代码

对于文档

Unmarshallerreturn a null,你能帮我理解一下查找正确的标准Unmarshaller以及它在opensaml中是如何工作的吗?

0 投票
1 回答
4058 浏览

saml - opensaml 断言签名验证

我有一个 SAML 2 响应,其中包含一个已签名的断言,并且响应本身已再次签名。我使用下面的代码来验证响应的签名配置文件。

并在代码块下方验证签名。

但我相信这些东西只验证响应签名和响应签名配置文件。我还需要验证断言签名吗?我尝试使用下面的代码块验证断言签名。但它给了我 ValidationException 这意味着它无效。但它应该是。