Click here to Skip to main content
15,881,794 members
Articles / Programming Languages / C# 4.0

WCF Client Server Application with Custom Authentication, Authorization, Encryption and Compression - Part 1

Rate me:
Please Sign up or sign in to vote.
4.87/5 (46 votes)
22 Mar 2011CPOL8 min read 150.3K   5.9K   159  
HTTP - No IIS; Authentication - No SSL/X509 Certificate; Encryption - RSA+AES for Request, AES for Response; Compression - GZip for both Request/Response
1. The solution uses .NET 4.0.
2. Please ignore the warnings related to the source control (TFS).
3. You may need to re-add some of the references: System.Configuration, System.ServiceModel, System.IdentityModel, System.Security, System.Runtime.Serialization, Ionic.Zip (the last is in the Common project; the others come with .NET 4).
4. The references are for the both parts of the article and for the attached code (comments with numbers).
5. You need administrative rights to start the server.
6. To use Microsoft’s implementation of zip and remove the need for Ionic.Zip.dll just change in the Common Project, Encoding.cs the “using Ionic.Zlib;” with “using System.IO.Compression;”; then you can delete the reference and the dll.
7. To avoid duplication, the code is attached only to the first part of the article.
8. If you want to test directly the server.exe and the client.exe from the attached zip, you need to unblock first server.exe.config and client.exe.config (right click, properties, unblock); otherwise you'll get a configuration error.

History
2011-03-08 Version 1.0.0 - Initial version
2011-03-17 Version 1.1.0 - Implemented the password ban list


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect Adrem Automation
Romania Romania
Motto: “Challenge is Life!”

Software architect, developer, project manager, consultant - depending on the “Challenge”.

challenge-me.ws





Don't forget to vote or share your comments.

Comments and Discussions