Protokół X.509

Implementacja połączenia szyfrowanego za pomocą certyfikatu X.509 pomiędzy aplikacją kliencką napisaną w C# a serwerem PHP

Pisząc oprogramowanie czasami musimy się zmierzyć z czymś takim jak komunikacja pomiędzy dwoma różnymi projektami. Takim częstym przykładem jest komunikacja programu napisanego w systemie z odpowiednim serwisem w internecie. Problem jest taki że występują tutaj często różne architektury pomiędzy systemami (Linux, Windows), tak więc różne systemy kodowania pewnych standardów, jak i języki programowania używane po obydwu stronach. Często jest tak że serwis oparty jest na języku PHP a klient jeżeli to aplikacja Windows oparta jest na .NET albo starsze aplikację bezpośrednio na na bibliotekach Win32. Dodatkowo chcielibyśmy aby połączenie mogło być bezpieczne i łatwe do implementacji bez nadmiernego pisania kodu. Do tego przedstawiam przykład implementacji takiego rozwiązania. Klientem jest jak tytuł wskazuje aplikacja napisana w .NET (wersja 2.0) natomiast serwerem jest PHP w wersji co najmniej 5.3. Mam nadzieje że dzięki temu dokumentowi nie tak jak mnie budowa takiego rozwiązania nie pochłonie kilka nieprzespanych nocy i niezliczonej liczby przekleństw które cisnęły mi się na usta podczas samej implementacji.

 Mam nadzieję że poruszyłem najważniejsze problemy przy opisaniu takiego serwisu. W razie pytań mogę od czasu do czasu odpowiedzieć na maile.

                                                                                               

                                                                                                                                Arkadiusz Klemenko
                                                                                                                arkadiusz.klemenko@croneye.com

Do ściągnięcia:

Artykuł 

 

 

Cały artykuł w postaci pliku .pdf

Project VS

Project Visual Studio


Wersja 32 bitowa aplikacji REST Client.


Wersja 64 bitowa aplikacji REST Client.

Źródło serwera PHP

Źródła dla bazy danych serwera PHP

Przykładowe certyfikaty do artykułu