Certificate Authority (CA) . Python 2.7 - open to bidding
zł30-90 PLN
Cancelled
Posted over 9 years ago
zł30-90 PLN
Paid on delivery
Projekt składa się z dwóch części: serwera CA i klienta.
Serwer CA
ma się przedstawiać certyfikatem (self-signed, albo podpisanym przez inny serwer CA, który trzeba wtedy też zaimplementować),
ma nasłuchiwać w oczekiwaniu na Certificate Signing Request (CSR) od klientów,
CSR-y mają być zgodne z formatem X509,
w odpowiedzi na CSR i sprawdzeniu jego poprawności, serwer ma wygenerować dla klienta certyfikat w formacie X509 i wysłać go do klienta przez szyfrowane połączenie,
wysyłać certyfikat żądanej osoby, w szczególności certyfikat własnego klucza,
serwer powinien pozwalać też na wycofanie certyfikatu; wtedy powinien on być przeniesiony na listę certyfikatów wycofanych (Certficate Revocation List, CRL), która powinna być możliwa do sprawdzenia przez klienta (możliwa do pobrania w całości, ewentualnie serwer może odpowiedzieć na zapytanie czy dany certyfikat jest jeszcze ważny).
Klient
ma nawiązywać szyfrowane połączenie z serwerem CA,
wysyłać, zgodne z formatem X509, zapytanie o certyfikat (CSR),
pobierać certyfikat i sprawdzać jego zgodność,
wysyłać inne pytania do serwera (jak opisane wyżej w funkcjonalności serwera).
Projekt może (powinien) korzystać z modułów stworzonych w ramach poprzednich zadań. Projekt ma być wykonany samodzielnie! Można korzystać z gotowych framework-ów, które nie udostępniają implementacji samego protokołu.