问题标签 [digest-authentication]
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.
c# - 如何存储由我的 ASP.NET 模块操作的临时数据?
我估计通过扩展类似于此自定义身份验证模块的代码来实现WSSE 身份验证。
该代码将托管在 ASP.NET 中,并在<system.web><httpModules>
网站的 web.config 文件部分中注册。模块的一个实例将由 IIS 中的一些代码创建,传递请求,存活一段时间然后销毁。
为了实现 WSSE,我需要以某种方式跟踪已发布的挑战(“nonce”),以防止重放攻击。
所以我需要将最近的挑战存储在某个地方,这样集合将在传入请求之间持续存在,并且所有模块实例都可以访问。
最方便(就从 C# 使用它并将其部署在新服务器上而言)和最典型的解决方案是什么?
java - zootool api授权
我正在尝试使用 java 通过 api ( http://zootool.com/api/docs/add ) 将页面添加到我的 zootool 页面。为此,我需要使用摘要身份验证。
给出一个获取页面授权的php示例:
但是如何在 Java 中添加页面呢?搜索后,我发现 apache commons HttpClient 可能有用,但我似乎无法理解它。
我试过了:
我试图对密码进行 sh1-hash(如 api 手册中所述),但没有运气。看来我的代码找不到任何要应对的挑战。
Api-key、用户名和密码正确。
更新我现在相对确定我需要使用抢先式摘要授权,但是当尝试使用 apache 给出的解决方法时,我仍然收到 401 和“身份验证错误:预期的摘要授权挑战,但未找到”-来自 java 的警告。我使用的代码是:
我必须为 DigestScheme 参数赋予有意义的值吗?我在正确的轨道上吗?
/安德烈
php - PHP Digest HTTP 身份验证示例不起作用,为什么?
所以我决定对我的 REST API 使用摘要 HTTP 身份验证。我用谷歌搜索它,并在 PHP 手册中找到了一个条目,其中包含如何执行此操作的示例。所以我复制了脚本,把它放在我服务器上的 index.php 中,在浏览器中打开页面,在输入我的凭据后,浏览器再次询问它们,我陷入了输入凭据的无限循环。该脚本包含在下面,可以在此处找到。
Example #7 摘要 HTTP 身份验证示例
我还尝试了基本身份验证,效果很好。
Example #6 基本 HTTP 身份验证示例
好像$_SERVER['PHP_AUTH_DIGEST']
永远都是空的。
脚本有问题还是我的环境很时髦,如果有,我该如何解决?
编辑:脚本没有问题。故障在于服务器。如果有人知道可能导致这种情况的原因,请告诉我。
c# - HttpListener Digest Auth 架构
我必须实现一个小型 REST 服务器来管理远程数据库,没什么特别的。安全性不是关键问题,因为该服务器必须在 Intranet 环境中运行;我们只想过滤用户并将他们重定向到适当的资源。
此代码(取自 Microsoft 站点)在服务器端完美运行,并且 - 当listener.GetContext()返回时 -我可以从 User 对象检查用户名和密码并确定如何处理请求。将初始listener.AuthenticationSchemes = AuthenticationSchemes.Basic更改为
它像我预期的那样停止工作,并且像基本身份验证模式一样有效。listener.GetContext()调用永远不会返回。HttpListener 似乎阻止任何请求,并且从客户端继续提示我输入用户名和密码。我尝试了本地用户、本地管理员、域用户、域管理员,大约 500 个幻想名称:没有任何效果。GetContext() 不再返回。你能帮助我吗?
提前致谢。
L.
unit-testing - 在 RestEasy 中模拟摘要身份验证
我正在使用 RestEasy 开发 REST 服务器,并使用模拟调度程序 ( org.jboss.resteasy.mockMockDispatcherFactory
) 在我的单元测试中测试服务。我的服务需要摘要式身份验证,我将把这部分作为我的测试。
我的每个服务都接受一个@Context SecurityContext securityContext
参数。
有什么办法可以SecurityContext
在调度程序中注入一个假的,以便我可以测试我的安全方法是否正常运行?
jquery - 使用 jQuery 可以进行摘要身份验证吗?
我正在尝试发送一个需要 HTTP Digest 身份验证的请求。
可以在 jQuery 中进行摘要吗?
如果是这样,这是否接近正确的方法?它目前不工作。
java - Java 摘要式身份验证 POST XML
我需要一些帮助才能使 DIGEST Authentication 正常工作。我正在使用 apache 4.1 库。当我尝试登录时,我得到了。
线程“主”javax.net.ssl.SSLPeerUnverifiedException 中的异常:对等体未通过身份验证
我正在尝试登录 Asterisk SwitchVox Dev Extend API,您只需发送一个 xml 帖子,它就会返回信息。我当然有正确的用户名/密码,并且我在 PERL 脚本上得到了这个,但我无法在 JAVA 中得到它。
这是我的代码
}
sip - SIP 代理认证失败
我正在开发一个连接到 Asterisk 服务器并尝试拨打电话的 SIP 用户代理应用程序。我正在使用 JAIN SIP API 的 NIST 实现。
当应用程序注册自己时,401(未授权)响应会使用 WWW-Authenticate 标头对其进行质询。应用程序将 Authorization 标头插入到下一个 REGISTER 请求中。这次 Asterisk 返回一个 200 (OK) 响应——注册成功。
当应用程序发送 INVITE 请求时,Asterisk 会以 407(需要代理身份验证)响应进行响应。这次响应包含一个 Proxy-Authenticate 标头。我的应用程序再次发送了一个 INVITE,但这次带有 Authorization 标头,Asterisk 使用相同的 407(需要代理身份验证)响应进行响应。
以下是传输的 SIP 消息('>>' 表示传出消息;'<<' 表示传入消息):
>>
<<
<<
>>
<<
<<
>>
>>
<<
>>
>>
<<
在这两种情况下,Authorization 标头的构造方式完全相同(执行相同的代码)。我将请求的请求 URI 用于“digestURI”。我尝试使用 Proxy-Authorization 标头而不是 Authorization 标头,但结果是一样的。
谁能看到我做错了什么?提前致谢。
java-me - 在 J2ME 中实现 Digest-MD5:如何计算字符串的 16 个八位字节的 MD5 哈希?
我在 J2ME 中实现了 digest-md5。在计算客户端响应时,给出了以下步骤:
- 创建一个“用户名:领域:密码”形式的字符串。将此字符串称为 X。
- 计算 X 的 16 个八位字节的 MD5 散列。将结果称为 Y。
- 创建一个“Y:nonce:cnonce:authzid”形式的字符串。将此字符串称为 A1。
- 创建一个“AUTHENTICATE:digest-uri”形式的字符串。将此字符串称为 A2。
- 计算 A1 的 32 位十六进制数字 MD5 哈希。调用结果 HA1。
- 计算 A2 的 32 位十六进制数字 MD5 哈希。调用结果 HA2。
- 创建一个格式为“HA1:nonce:nc:cnonce:qop:HA2”的字符串。将此字符串称为 KD。
- 计算 KD 的 32 位十六进制数字 MD5 哈希。调用结果 Z。
这里有人知道如何实施第2步吗?我有一个返回 32 十六进制数字的 md5 函数,但我不知道如何计算 16 个八位字节的 md5 哈希?
我只想重申我正在使用 J2ME。在那种情况下,我不能简单地使用 MessageDigest。
先感谢您。:)
php - PHP:验证我的 REST 应用程序
我一直在寻找使我的 REST 应用程序更安全的方法。HTTP 基本身份验证似乎是一种方式,但需要在每次请求时在客户端和服务器之间传送用户名+密码。如果我使用curl
Javascript 文件可以正常工作吗?不是很酷。
我最近发现并阅读了有关 Digest HTTP 身份验证的信息,这似乎比 HTTP Basic 提供的安全性有了很大进步,尽管理解起来要复杂得多,但我仍然没有完全诚实。
我已经看过这个问题,它是了解使用 Digest 方法的利弊的答案,但似乎我想得越多,一切就变得越混乱。
似乎已经有很多可用的解决方案来解决这个问题,但是其中大多数现在已经接近 10 年了。
Digest 方法是否应该是最好的一种恐龙,最好将其留在黑暗中,以寻求另一种更新的保护请求的方法,或者是否有任何好的已经存在的 Digest 库可用?