`
robertliudeqiang
  • 浏览: 123131 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

http认证(二) - DIGEST 认证

    博客分类:
  • web
阅读更多
和讲Basic篇的内容差不多,不同的是过程采用的是DIGEST认证:

Tomcat配置:
1 在tomcat的webapps下新建一个目录authen,再建立子目录subdir,下面放一个index.jsp

2 在authen目录下建立WEB-INF目录,下放web.xml文件,内容如下
<security-constraint>
	<web-resource-collection>
		<web-resource-name>
			My App
		</web-resource-name>
		<url-pattern>/subdir/*</url-pattern>
	</web-resource-collection>
	<auth-constraint>
		<role-name>test</role-name>
	</auth-constraint>
</security-constraint>

<login-config>
	<auth-method>DIGEST</auth-method>  <!-- DIGEST here -->
	<realm-name>My Realm</realm-name>
</login-config>

3 在tomcat的tomcat-users.xml文件中添加一个用户名密码为test,test的用户,角色test。


客户端访问:
访问http://localhost:port/authen/subdir/index.jsp
会弹出对话框提示认证,输入test test可以登录。


工作流程(通过firebug可以查看请求头)
1 客户端先发请求(不知道要认证,头里不包含任何特殊信息)

2 服务器发一个401返回,并含有下面的头


3 客户端认证,含有下面的头

response="..."就是客户端用来签名的部分。

缺点:
监听到消息的攻击者可以使用这个消息提交请求。

httpclient中的实现
查看org.apache.commons.httpclient.auth包的DigestScheme类的authenticate方法。

RFC2617描述了计算方法:
A valid response contains a checksum (by default, the MD5 checksum) of the username, the password, the given nonce value, the HTTP method, and the requested URI.

  • 大小: 13.9 KB
  • 大小: 22.4 KB
  • 大小: 40.2 KB
分享到:
评论
1 楼 vane002 2012-10-24  
你好,我现在在研究这个协议。就是我用了apache 包 调用了DigestScheme这个类。生成对用的鉴权数据,我把它传入服务端,服务端提示403错误。现在这个问题无法解决。希望可以帮助下。我邮件vane360@163.com 谢谢。

相关推荐

    http-client-digest_auth:针对Crystal的RFC 2617摘要访问身份验证的实现

    HTTP客户端摘要认证(Digest Authentication)作为一种安全的身份验证机制,广泛应用于各种Web服务和API中。本篇将详细介绍如何在Crystal编程语言中实现RFC 2617规范的摘要认证,并探讨其工作原理。 摘要认证,基于...

    okhttp-digest:okhttp的摘要身份验证器

    okhttp-digest okhttp的摘要身份验证器。 大多数代码是从Apache Http Client移植的。重要的该工件已从jcenter转移到了Maven Central! 坐标已从com.burgstaller:okhttp-digest:&lt;version&gt;到io.github.rburgst:okhttp-...

    模拟Digest认证的登录demo

    在这个场景中,我们关注的是模拟Digest认证的登录过程,这是一个针对HTTP 401 Digest认证的实例,主要用于安全地访问受保护的资源,例如海康NVR(网络视频录像机)中的摄像头列表。在此Demo中,我们将深入探讨相关...

    Laravel开发-digest-auth

    在本文中,我们将深入探讨Laravel框架中的摘要式身份验证(Digest Authentication),这是根据RFC 2617标准实现的一种安全认证机制。Laravel作为PHP的流行Web开发框架,提供了丰富的功能来支持开发者构建安全、高效...

    digest 用户认证 response生成算法

    digest认证机制通常用于基于HTTP和SIP(Session Initiation Protocol)协议的应用中,SIP是一个通信协议,用于创建、修改和终止包括互联网电话在内的多方多媒体会话。 RFC 2616标准定义了HTTP协议,并规定了可以...

    基于链路的OSPFMD5密文认证.pdf

    基于链路的OSPFMD5密文认证 OSPF(Open Shortest Path First)是一种链路状态路由协议,广泛应用于大型网络中。在OSPF协议中,认证机制是非常重要的一部分,用于确保路由信息的安全性和可靠性。本文将详细介绍基于...

    express-3.x-http-digest-example:使用Passport的Express 3.x应用通过HTTP摘要方案进行身份验证

    $ git clone git@github.com:passport/express-3.x-http-digest-example.git $ cd express-3.x-http-digest-example $ npm install 启动服务器。 $ node server.js 使用curl发送经过身份验证的请求。 $ curl -v ...

    Digest-HMAC-1.03.tar.gz

    HMAC是利用密钥和散列函数实现的一种消息认证码,而Digest-HMAC则是在HTTP协议中引入的一种特定实现,它结合了HTTP的Digest认证机制和HMAC的安全特性,旨在为HTTP通信提供更高级别的安全性。 Digest-HMAC的工作原理...

    spring-security-digest:spring-security 与摘要认证示例

    在这个特定的示例 "spring-security-digest" 中,我们关注的是摘要认证(Digest Authentication),这是一种比基本认证更安全的身份验证机制,因为它不直接在请求中传递明文密码。 摘要认证的基本原理是,服务器向...

    commons-digest笔记

    Apache Commons Digest是一个Java库,主要功能是提供各种散列(Hash)和消息认证码(MAC)算法的实现,这些算法包括MD5、SHA-1、SHA-256等。它在软件开发中广泛应用于数据校验、密码存储以及文件完整性检查等领域。...

    Http Digest 鉴权

    “摘要”式认证( Digest authentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要,在RFC2671中描述。其身份验证机制很简单,它采用杂凑式(hash)加密方法,以避免用明文传输用户的...

    Digest认证摘要 isapi (MD5算法)

    在"Digest认证摘要 isapi (MD5算法)"这个主题中,我们主要探讨的是如何利用ISAPI(Internet Server API)扩展在IIS(Internet Information Services)服务器上实现Digest认证,并结合MD5算法进行密码的哈希处理。...

    HTTP digest RFC2671规范 加密实现(JAVA)

    HTTP Digest认证是一种安全的身份验证机制,它在HTTP协议中用于保护服务器资源免受未经授权的访问。RFC2671是HTTP/1.1扩展中关于Digest认证的规范,旨在改进基本认证的安全性,因为它不直接在请求中传输明文密码。在...

    Onvif编译及开发(带wsse鉴权和digest鉴权)

    本教程将深入探讨如何进行ONVIF编译与开发,包括使用gSOAP工具处理SOAP消息,以及实现WSSE(Web Services Security Extensions,Web服务安全扩展)和DIGEST鉴权机制。 首先,让我们了解gSOAP。gSOAP是一个开源C和...

    tomcat 用户认证--域

    在IT领域,尤其是在Web服务器管理中,Tomcat的用户认证和授权是确保系统安全的关键环节。Tomcat是一个流行的开源Java Servlet容器,它提供了内置的安全功能,包括用户认证和授权,这些功能是通过“域”这一概念来...

    BGP OSPF EIGRP RIPv2的认证总结

    #### 二、EIGRP 认证 EIGRP(Enhanced Interior Gateway Routing Protocol)是一种高级的混合型路由协议,结合了距离向量和链路状态的优点,它只支持MD5认证。 **配置示例**: 首先需要创建一个密钥链,然后指定...

    nginx1.2(http服务器)

    Nginx 1.2提供了基于IP、用户代理、HTTP头部等多种方式的访问控制,可以限制特定IP地址的访问,或者只允许特定用户通过HTTP基本认证或Digest认证访问。 7. **日志记录** 它支持自定义日志格式,方便进行性能分析...

    RFC2617标准的Http认证(C和CPP两个工程)

    标题中的"RFC2617标准的Http认证"是指互联网工程任务组(IETF)发布的Request for Comments (RFC) 2617文档,该文档详细定义了HTTP基本认证和更安全的HTTP摘要认证(HTTP Digest Authentication)机制。HTTP摘要认证是...

    RFC 2617中文版(HTTP Digest Authentication)

    RFC 2617中文版(HTTP Digest Authentication) RFC 2617中文版是对HTTP Digest Authentication的描述,该文档基于原英文版进行了校正和重新排版,以方便中文读者更好地理解和使用HTTP Digest Authentication机制。...

    带用户认证功能的boa

    基本认证涉及用户名和密码的明文传输(虽然通常会通过HTTPS加密),而Digest认证则提供了一种更安全的方法,因为它使用了哈希算法来保护用户的凭据。 首先,我们需要了解 boa 的配置过程。安装 boa 后,你需要编辑 ...

Global site tag (gtag.js) - Google Analytics