问题标签 [saml-2.0]
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.
python - 使用 Python/M2Crypto 进行 SAML 签名验证
我正在尝试使用 M2Crypto 来验证从我的 django/python 应用程序中的 SSO/SAML 提供程序返回的 XML 响应中包含的签名,但我似乎无法让它工作。
我的 XML 响应看起来有点像这里的第二个示例。
ETA:这是我的实际 XML 的粘贴箱。
我正在使用这样的代码来尝试验证:
我可以从响应中成功获取 NameID,并且我知道我已成功加载证书,因为我可以从中拉出颁发者等。
不过,至于签名,我尝试过对传入的 XML 进行散列处理,对各种片段进行编码/不编码,并为signed_info
参数(SignedInfo 标记、响应标记、整个东西)传入各种 XML 位,然后我'已经尝试使用 ElementTree/ ElementC14N.py来确保 XML 完全规范化,正如转换所暗示的那样,应该完成,但我没有得到积极的结果。
我在这里想念什么?我是否试图针对错误的 XML 进行验证?我的验证技术有问题吗?
saml - samlp:RequestAbstractType - 试图理解 ExtensionsType
根据 SAML 2.0,aRequestAbstractType
定义如下:
我感兴趣的是Extensions
元素,它被定义为:
我将如何添加/实现这样的扩展?我不知道如何extend
使用 RequestAbstractType。
java - 如何使用 HTTP POST 在没有用户代理交互的情况下发送 AuthnRequest?
我的问题类似于我应该如何为 SAML WebSSO 配置文件实现 HTTP POST 协议绑定?,但我没有看到我需要的确切答案。这是我的情况。我已经为 WEB SSO SP 发起的 POST 重定向实现了服务提供程序,我的 IDP 是活动目录,STS 是 ADFS2.0。用户登录后,我需要在没有用户代理交互的情况下向 ADFS2.0 发送另一个 AuthnRequest。HTTP POST可以吗?或者要通过 HTTP POST 发送,必须需要用户代理交互。我设置 isPassive=true。我尝试使用 Java 来实现。
.net - SignedXml.CheckSignature 引发异常:值不能为空。参数名称:名称
我正在编写一段代码来验证 X509 证书中 Xml 中的签名,并在主题行中收到异常消息。
我的示例代码
我已成功从我的证书存储加载证书(代码的第一行)。我已经成功填充了signedXml(代码的第二行)。
当我调用signedXml.CheckSignature(cert, True)
函数时抛出异常。该消息非常不清楚:
值不能为空。
参数名称:名称
任何线索这里有什么问题?
调用堆栈:
System.ArgumentNullException 未由用户代码处理
Message=Value 不能为空。参数名称:名称 ParamName=name
Source=mscorlib StackTrace:在 System.Security.Cryptography.CryptoConfig.CreateFromName(String name, Object[] args) 在 System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm key) 在系统。 D:\Projects\MyProject\Test 中 MyNamespace.MyClass.MyFunction() 中 System.Security.Cryptography.Xml.SignedXml.CheckSignature(X509Certificate2 证书,布尔 verifySignatureOnly) 中的 Security.Cryptography.Xml.SignedXml.CheckSignature(AsymmetricAlgorithm key)。 VB:第 117 行
更新1
我打开.Net Framework源码调试,SignedXml.CheckSignedInfo
方法抛出异常,有一行代码
SignatureDescription signatureDescription = CryptoConfig.CreateFromName(SignatureMethod) as SignatureDescription;
很明显 SignatureMethod 是一个包装
是m_signature.SignedInfo.SignatureMethod
一个空值。我从 MSDN 再次阅读了在http://msdn.microsoft.com/en-us/library/system.security.cryptography.xml.signedxml.signaturemethod.aspx上对 SignatureMethod 的解释,并检查了带有签名部分的 Xml 代码粘贴在下面. 我有一个SignatureMethod
包含值的标签,但为什么 SignedXml 无法处理它?
.net - SAML 2.0 与 .Net 1.1
有没有人在 .Net 1.1 中实现了 SAML 2.0 解决方案,特别是从身份提供者方面?我们的供应商之一正在为 SSO 升级到 SAML 2.0,不幸的是,我们在网站上使用 .Net 1.1 时遇到了困难。我找到了许多使用 .Net 实现 SAML 2.0 的解决方案,但在 .Net 1.1 中没有。任何示例将不胜感激。
single-sign-on - SAML 2 主题名称标识符的用途是什么?
对 SAML 2 IdP 执行身份验证时,主题名称标识符应该用于什么?它是否跟踪每个用户的登录?
我想知道我的 SAML 2 服务提供商应用程序是否应该为不同的用户跟踪这些。由于它们是瞬态的,因此对于不同的登录,它们可能会有所不同(因此我需要使用挂起用户帐户的集合进行跟踪)。
java - 当使用 xml 签名时,整个 xml 文档是混乱的
我正在使用 xml 签名来验证 saml 请求:
签名前的初始 saml 请求:
签署 xml 文档然后将其转换为字符串(使用转换器)后,我得到以下信息:
如您所见,初始字符串中的第一个属性是 ID 但签名后的第一个属性是 AssertionConsumerServiceURL。为什么会变得杂乱无章?此外,在已签署的文件中参见#here
(倒数第三行),有一个换行符。为什么会有换行符。我认为加密值不包含换行符。我不明白发生了什么。请帮忙。
spring-security - 春季 SAML 2.0
我最近继承了一个使用 Spring SAML 2.0 的项目,但代码似乎没有验证 X509 证书。我可以看到它正在验证时间戳和签名值,而不是证书本身。我在查找清楚解释验证证书过程的文档时遇到了一些麻烦,这里是否有人可以找到我想要的信息或有能力解释它。
salesforce - SAML 重定向到特定 IDP(Salesforce 与 Arcot + PING + Siteminder)
我们需要支持以下身份验证流程
用户 1 使用 Salesforce 凭据登录 Salesforce
用户 2 使用 Arcot +Ping + Siteminder 凭据登录 Salesforce
用户 2 使用 Arcot + Ping + Siteminder 凭据登录自定义应用程序
由于上述所有身份验证方法都是 SAML,因此我需要找到一种方法来解决家庭领域发现问题,这是身份验证流程的一个不寻常的“网格”。
问题
我应该如何设置 IDP 和 RP 来处理这种情况?
家庭领域发现如何运作?
php - Simplesamlphp 检查用户是否在 IdP 上有会话
如果用户已在 IdP 上进行身份验证,则需要帮助在 SP 端进行识别。基础设施:
login.domain.com (IdP)
www.domain.com (SP)
www.domain2.com (SP)
从 domain.com 我被重定向到 login.domain.com (IdP),我成功登录并被重定向到 domain.com。我打开站点 domain2.com (SP) 并希望通过身份验证,无需单击登录,被重定向到 IdP 并返回(无需输入用户名,通过)。
HTTP-Artifact 是解决方案,还是某种 SOAP 解决方案?尝试使用 cURL 并阅读它不能使用 cURL 完成。
是否有从 IdP 获取身份验证会话的解决方案,例如当我登录 Gmail 并单击 Youtube 时,我已经登录而无需单击登录。
更新:如果有人有同样的问题,我在https://groups.google.com/d/topic/simplesamlphp/r5EdD_udn88/discussion开始了 Google Group 讨论