////////////////////////////////////////////////// // Bakalarska praca // // Meno studenta: Tomas Lukac // // Veduci BP: prof. Ing. Milos Drutarovsky CSc. // // Skola: KEMT FEI TUKE // // Datum poslednej upravy: 9.3.2020 // ////////////////////////////////////////////////// #ifndef __KRYPTOGRAFIA_H__ #define __KRYPTOGRAFIA_H__ #include #include #include #include #include #include #include int generovat_ecc_certifikat(WOLFSSL_CTX* ctx, int pocet_bitov, ecc_curve_id kluc_krivka, int algoritmus, char* krajina, char* mesto, char* domena, char* email); int generovat_rsa_certifikat(WOLFSSL_CTX* ctx, int pocet_bitov, int exponent, int algoritmus, char* krajina, char* mesto, char* domena, char* email); /** * nastav_ctx_klient : realizuje vytvorenie a inicializaciu CTX struktury * na zaklade verzie tls (client method) * @vrati smernik na ctx strukturu */ WOLFSSL_CTX* nastavit_ctx_klient(); /** * nastav_ctx_server: realizuje vytvorenie a inicializaciu CTX struktury * na zaklade verzie tls (server method) * @vrati smernik na ctx strukturu */ WOLFSSL_CTX* nastavit_ctx_server(); /** * Zobrazi sifru na ktorej sa strany dohodli * @parameter WOLFSSL* ssl : ukazuje na aktualnu relaciu */ void zobraz_sifru(WOLFSSL* ssl); /** * nastav_sifry: umoznuje manualne nastavit sifrovaci subor * @parameter WOLFSSL_CTX* ctx : ukazuje na WOLFSSL_CTX strukturu * @parameter const char* sifry : retazec, ktory sa sklada z nazvov sifier oddelenych pomocou znak ":" * vyber sifry zakazeme vlozenim znaku "!" pred danu sifru */ void nastav_sifry(WOLFSSL_CTX* ctx, const char* sifry); /** * nacitat_certifikaty: realizuje nacitanie certifikatov zo suborov do struktury WOLFSSL_CTX * @parameter WOLFSSL_CTX* ctx : ukazuje na WOLFSSL_CTX strukturu * @parameter const char* subor_certifikat : absolutna cesta ku suboru s certifikatom vo formate PEM * @parameter const char* subor_kluc : absolutna cesta ku suboru so sukromnym klucom vo formate PEM * @vrati int : operacia bola uspesna(0), neuspesna(-1) */ int nacitat_certifikaty(WOLFSSL_CTX* ctx, const char* subor_certifikat, const char* subor_kluc); /** * zobraz_certifikat: realizuje vypis udajov extrahovanych z prijateho certifikatu * @parameter WOLFSSL* ssl : ukazuje na aktualnu relaciu */ void zobraz_certifikat(WOLFSSL* ssl); /** * ukoncit_spojenie: realizuje ukoncenie zabezpeceneho tls prenosoveho kanalu * @parameter WOLFSSL* ssl : ukazuje na aktualnu relaciu * @parameter WOLFSSL_CTX* ctx : ukazuje na WOLFSSL_CTX strukturu */ void ukoncit_spojenie(WOLFSSL *ssl, WOLFSSL_CTX *ctx); #endif