I felt like .net was lacking a simple secure automatic update library so I\'ve implemented something and put it up here. Before anyone considers
Don't mean to be troll in here, but you are trying to solve an already solved problem. Using SSL would be a much better choice. That would solve all problems listed in your question.
I understand that this system can be useful for people who can't afford an SSL certificate but anyone who can get one, should get one to solve this problem.
Don't forget, "Complexity is the enemy of security".