| 
					阅读:3842回复:13
				 数据包加密和解密的问题,急待高手解疑!!!!!!
					AB两台机器,需要在底层数据通讯的时候进行数据加解密,数据加密发送部分已经完全实现,如果A发送的话,B的NDIS层能收到数据,但是在B部分接收数据的部分解密却有问题: 我是通过ndis这么处理的: 程序的整个框架采取的是passthru,我在数据接收注册协议函数PtReceive 中处理数据解密的,在此部分运用解密后,然后用 NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &MyPacket, 1); 向上传递该数据包。 但是在我在用iris抓包后发现,数据包并没有被解密!各位高手请教下是什么原因?... 1、难道在ptreceive中做解密数据包 是不行的么?如果此处不可以的话,在什么地方进行数据包解密合适呢,不至于让上层收到乱码? 2、iris抓的包难道是在我ndis中协议层下面进行的? 3、还在传递数据包的时候不是按层进行传递,而是拷贝数据包进行并发传递? 高手帮忙看看! | |
| 沙发#发布于:2010-03-13 15:36 
					  可能你的解密有问题 你是怎么解密的?解密和你的加密是一样的 要重新计算长度 校验和 重新关联包描述符 				 | |
| 板凳#发布于:2010-03-13 15:38 回 楼主(ftbk86) 的帖子ptreceive  和ptreceivePacket里面都要进行解密  解密步骤我上面说了 | |
| 地板#发布于:2010-03-14 00:44 
					检验和之类的这些都已经计算过了!而且已经确认没有问题了!解密应该是没有错的!解密后的内容我已经打印出来了! 我在将解密后的数据NdisAllocateBuffer,然后 NdisChainBufferAtFront(MyPacket,MyBuffer); 最后 NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &MyPacket, 1); 但是这样操作后用iris去抓包,发现是没有解密的!不知道是为什么? 同时为了验证我解密的是否成功,我甚至在NdisMIndicateReceivePacket函数之前都查看了mypacket是没有任何问题! 搞不清楚是什么原因! | |
| 地下室#发布于:2010-03-14 23:19 
					哪个高人给解答一下,再次感谢。				 | |
| 5楼#发布于:2010-03-15 01:24 回 4楼(zhou_gz8888) 的帖子是的啊!高手看看呢!这个是为什么? | |
| 6楼#发布于:2010-03-15 02:05 
					2、iris抓的包难道是在我ndis中协议层下面进行的? en				 | |
| 7楼#发布于:2010-03-15 09:05 
					好像不是的哦!..我检查了 iris的拦截!..他没有用到比ndis还要底层的东西哦!....				 | |
| 8楼#发布于:2010-03-16 15:54 
					上面不是有人回答你了嘛 | |
| 9楼#发布于:2010-03-16 17:44 
					?不明白!				 | |
| 10楼#发布于:2010-03-16 17:52 
					关注需要解密的函数的就可以了。 | |
| 
 | 
| 11楼#发布于:2010-03-17 01:04 
					版主大人!我这么做了!确实不行!...解密函数确实没有错误!但是这样就是不行!				 | |
| 12楼#发布于:2010-04-22 11:30 
					我估计你是在关联解密后的包时出问题了  				 | |
| 13楼#发布于:2010-05-08 11:36 
					楼主有没有解决啊?我也碰到了同样的问题				 | |
 
							
 
				 
				