| # CHAP | |||||
| #CHAP | |||||
| Some python scrips for demonstrating chap protocol | |||||
| This are two little python scripts to demonstrate the CHAP workflow. One script is serving and the other fetching. | |||||
| ##Presets | |||||
| - Python 3 | |||||
| ##Usage | |||||
| To use just first start the server and then the client script | |||||
| ##Internal workings | |||||
| The server script will the serve a XMLRPC server with 4 endpoints on Port 8000 at localhost (the local machine) : | |||||
| - init(): [ *session_id*: *uuid*, *seed*: *uuid* ] | |||||
| This endpoint will start a new session and send you the id and seed of this new session | |||||
| - auth( *session_id*: *uuid*, *password_hash*: *string*): *bool* | |||||
| This endpoint requires the session id and your password hash generated from the password concatenated with the seed and hashed using sha256 | |||||
| It will return whether the password is correct and you are authorized and set you as authorized in the server instance | |||||
| - logout( *session_id*: *uuid*, *password_hash*: *string*): *bool* | |||||
| This endpoint requires the session id and your password hash generated from the password concatenated with the seed and hashed using sha256 | |||||
| It will destroy the session and return you if it worked (should always return true) | |||||
| - hello(): *string* | |||||
| This endpoint will return a string with a hello message if you are authorized and a denial message otherwise | |||||
| Note: *uuid* is not a the DataType but a string in uuid format | |||||
| The client script will then establish a connection, initialize a session, successfully authorize itself, print the return value from hello method and finally destroy the session. |