如何添加时间戳(防止重放攻击)
时间:2011-07-09
来源:互联网
我已经对SOAP消息加密签名了,请问怎样添加时间戳,拜托了,我查了好久的资料~拜托
作者: zhangxiuhoujian 发布时间: 2011-07-09
我做过HTTP认证的相关东西,为了防止重放攻击,采用HTTP摘要访问认证。就是每隔一段时间,在server端重新生成一个nonce值,然后client拿着这个值重新认证一次。你的问题有点笼统,但我想应该和HTTP摘要访问认证是一样的。
我只说我是怎么做的,不知道对于你的情况是否合适。
假设有个类专门用来做HTTP摘要认证。在这个类中,
首先,肯定需要定义一个时间戳大小,比如说一个小时,如果时间过期了,那就需要server端重新生成一个值。
public static TimeSpan RefreshTime = TimeSpan.FromMinutes(60);
其次,需要有一个DateTime _dt; 来保存client访问的时间。(比如说,在第一次client请求时,记录_dt,然后再一个小时内,不需要更新它,当一个小时过期了,需要更新这个时间。)
在client每次访问的时候,需要查看这个时间是否过期了,如果过期了,需要重新记录下当前的访问的时间。
C/C++ code
可能我都不知道我在说啥。。。汗。。。
我只说我是怎么做的,不知道对于你的情况是否合适。
假设有个类专门用来做HTTP摘要认证。在这个类中,
首先,肯定需要定义一个时间戳大小,比如说一个小时,如果时间过期了,那就需要server端重新生成一个值。
public static TimeSpan RefreshTime = TimeSpan.FromMinutes(60);
其次,需要有一个DateTime _dt; 来保存client访问的时间。(比如说,在第一次client请求时,记录_dt,然后再一个小时内,不需要更新它,当一个小时过期了,需要更新这个时间。)
在client每次访问的时候,需要查看这个时间是否过期了,如果过期了,需要重新记录下当前的访问的时间。
C/C++ code
DateTime current = DateTime.Now; // 每次访问的时间 if (current >= _dt.Add(RefreshTime)) // 如果访问的时间大于一个特定的时间戳,则需要更新保存的时间 { _dt = current; // 生成新的nonce值 // ... }
可能我都不知道我在说啥。。。汗。。。
作者: woyaowenzi 发布时间: 2011-07-10
楼主要正常结贴啊(结帖率:22.22%)。信誉不好的话,那些大拿都不过来看你的帖子。
作者: woyaowenzi 发布时间: 2011-07-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28