..
This commit is contained in:
parent
4ff62a305c
commit
676912ea1a
BIN
certifikaty/autorita/autorita_ecc.der
Normal file
BIN
certifikaty/autorita/autorita_ecc.der
Normal file
Binary file not shown.
BIN
certifikaty/autorita/autorita_kluc_ecc.der
Normal file
BIN
certifikaty/autorita/autorita_kluc_ecc.der
Normal file
Binary file not shown.
BIN
certifikaty/autorita/autorita_kluc_rsa.der
Normal file
BIN
certifikaty/autorita/autorita_kluc_rsa.der
Normal file
Binary file not shown.
BIN
certifikaty/autorita/autorita_rsa.der
Normal file
BIN
certifikaty/autorita/autorita_rsa.der
Normal file
Binary file not shown.
@ -1,8 +0,0 @@
|
||||
-----BEGIN EC PARAMETERS-----
|
||||
BggqhkjOPQMBBw==
|
||||
-----END EC PARAMETERS-----
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MHcCAQEEIEuYLm4s3SUBBm7VOdIJq+FlZgRMq+V3o4wQG7VaMgZaoAoGCCqGSM49
|
||||
AwEHoUQDQgAEVL+Z4OXsPkJkgObU3CfMSZK5BqDaavIA3fsPTzKyxsHbvZZNR111
|
||||
BiLEX7tlFvSTIvxo64eB352ys4MFnGDiAQ==
|
||||
-----END EC PRIVATE KEY-----
|
@ -1,15 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICWwIBAAKBgQCVKNbLNY4YLbZNe5bpupYKY1ytQiWdU5GPoN1VpBT2BYk36yTd
|
||||
RKvfLwxQwLgBDiI2sifAxq/MIEFgada93dJvw9GfawnLGEDfsd8lVr6cefLJuAHa
|
||||
b4rHy5VDFZuzLyEDgxY+1NvK31efyQCu08GdnTpoHdHIuVQS+EAZnJcOPwIDAQAB
|
||||
AoGAd1OFimnctDEVr6TYlUFEuSjGQoExcEwjneCWUOYEMtE49jgydKV0Tgbodk3G
|
||||
pml1K4aY0NriVo3TX1sshRZJOxGkfxvBNtE15j8uYtb3Gov1I/jV302CROvvRE4y
|
||||
fIl2AIvd5TG92ZOPYu7H22ScnasHWpsw706qQ3yjfP5weukCQQDFMA6NAqaT93ku
|
||||
ClyjSBo/kon39y/XgvyAPg43LIHdkUx4q26PfW9OvwqZ7XHa5eTqBQQF9oUo8gTs
|
||||
UB+SwLqTAkEAwaWrLLApowA5g8Y+MGi1Gf/r7qdQxKRJGnaEyca5EL6avFvWdZEB
|
||||
XivtrIeg5Cy7BWaIgGO8TsPnwtjURTbtJQJAVn2vxDYnbrub0ZAF9jDIIp5aGgO4
|
||||
XmU779xIS/cft1nmGv/G7PVt/zJYqg+2Yvd3oxY0H5Fz8vPFKQoz7yDONQJAFMNh
|
||||
tjnxTPPyNsnj0yb2/CGvt3gjNeJzoC3DESuInl4Bk165gQOaRPGq20vzmWOebfbP
|
||||
fgyznTJuQDslj4JTLQJAd2ryTnOjyc6Cr8RMIMmchZCltdqEIi7vK8BglWJOBtPV
|
||||
8zHyLZeMVlPQhksQW7/+xqhgFWnTMRaG9DW7JN7e7Q==
|
||||
-----END RSA PRIVATE KEY-----
|
18
certifikaty/klient/vygenerovany_certifikat.pem
Normal file
18
certifikaty/klient/vygenerovany_certifikat.pem
Normal file
@ -0,0 +1,18 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIC9TCCAl6gAwIBAgIQbFsMsUpL4cQYvdnPsNfEozANBgkqhkiG9w0BAQsFADBz
|
||||
MQswCQYDVQQGEwJTSzEKMAgGA1UECAwBLTEPMA0GA1UEBwwGS29zaWNlMREwDwYD
|
||||
VQQKDAhBdXRvcml0YTESMBAGA1UEAwwJbG9jYWwuZGV2MSAwHgYJKoZIhvcNAQkB
|
||||
FhFhdXRvcml0YUB0dWtlLmNvbTAiGA8yMDIwMDMxODEwMzUwOFoYDzIwMjUwMzE4
|
||||
MTAzNTA4WjB3MQswCQYDVQQGEwJTUjEKMAgGA1UECAwBLTEPMA0GA1UEBwwGS29z
|
||||
aWNlMQowCAYDVQQKDAEtMQowCAYDVQQLDAEtMRIwEAYDVQQDDAlsb2NhbC5kZXYx
|
||||
HzAdBgkqhkiG9w0BCQEWEGtsaWVudEBrbGllbnQuc2swggEiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBDwAwggEKAoIBAQDwvJLGxRiSsplAIeOWOeMa4xeh8mVwTVZgJjuOK2xv
|
||||
Gze6NZ/or9OGHqBMat3rfW9xZazAg+UoL4TzqokVyjo1KQxGwbHuZQdqQ3/MgWnm
|
||||
1h2cdLicF8hMQtawYhqp1me9+Xh89y+tiBBAAilzGzPRQayYoMoEd9Ics8XPbSX/
|
||||
qEzSdVeuqb7AIQIDZ7v4DTnQIarJDFtzE4Rd37Dq+ThMiipe292FKbRqfyhU5974
|
||||
QtAfTQ6ReYzuRnO5bveAx20iOHXqhM2ckUNzuAKRk8DKEdh/ucPpJTF5rkJYVmU0
|
||||
6qpVAPdfSrovuNe6r3v9JGBCWOb8XPq9cLE0PwRd2U1nAgMBAAEwDQYJKoZIhvcN
|
||||
AQELBQADgYEAUFd0OaWxtikqd5MRx8LfOKfIoadPxnm7/os6fR8D1K8HMVuinbc4
|
||||
6My0jDwVIQQP0ovlGHhntbH+EsXwoB15O2EPtfh5kQjgocKdZitfH3jgaW3ndm1B
|
||||
RAKOmCfs29IBHN/ZUX8hBaoSfUWJPvwL2DcxzwoeI+h5VRHY68f6cI4=
|
||||
-----END CERTIFICATE-----
|
27
certifikaty/klient/vygenerovany_kluc.key
Normal file
27
certifikaty/klient/vygenerovany_kluc.key
Normal file
@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEA8LySxsUYkrKZQCHjljnjGuMXofJlcE1WYCY7jitsbxs3ujWf
|
||||
6K/Thh6gTGrd631vcWWswIPlKC+E86qJFco6NSkMRsGx7mUHakN/zIFp5tYdnHS4
|
||||
nBfITELWsGIaqdZnvfl4fPcvrYgQQAIpcxsz0UGsmKDKBHfSHLPFz20l/6hM0nVX
|
||||
rqm+wCECA2e7+A050CGqyQxbcxOEXd+w6vk4TIoqXtvdhSm0an8oVOfe+ELQH00O
|
||||
kXmM7kZzuW73gMdtIjh16oTNnJFDc7gCkZPAyhHYf7nD6SUxea5CWFZlNOqqVQD3
|
||||
X0q6L7jXuq97/SRgQljm/Fz6vXCxND8EXdlNZwIDAQABAoIBAAIcLun+V9xL53aB
|
||||
eU2IwwGixFnSP9ReuaOI/n2kjfjoom4W2T1a6xDPkDSpYsj+i49CGXMoiYIrsaKM
|
||||
xvguuCgR5S9jHai0bKRrmRnJ8EBBG44aE7E6zTHa3ph2MVKFIX97DXTP5X+0vkjl
|
||||
lGzITe8OtRqNu6eTfSxdwuj1zQwkG6hISEjIQuqy01wZLKGxLqp9FXfT1wSmpHCI
|
||||
BTqSrVAnwrDVQxkDS7+B2bipy48JMRIZ1TOjkC+ELNiMEZgpMOhTM/0WjYUP0elC
|
||||
SoxdeDN9oo8IWoyL8wEMVl9apMRpoT3e2eI7GFHhvGyJpY/PIBpevbKEmxUeYnKu
|
||||
2pI1eRUCgYEA+NBPc8WyRDhcDwm+pdcvpozOv9JuEkX6hLqTSAeqYLFSZDoei4bs
|
||||
6nkFHHE9OCwQ2xtoP4dz/BZRW/sO9nU04FmNLqPS/pfxEUN3BSABhi5lvwh7bgf4
|
||||
jw1P2IixA4AYkOAaJGl8LGor3GIJ5RnjxNYj7eNDbfVL01jwVMvKvlMCgYEA97CK
|
||||
zOdtB07oCav4lcMMGqbGsDQFJ9x+lGUHs/OXCTNf7MgaxHErw5hk/GPqM7YrA93V
|
||||
arpa5PG/y0fy3IswjhMHwVwHKw8yOWN6oV+Ud4yAXUYurNNpkv9BTEKrSpy/vvM6
|
||||
et5NPXki1UqkkzzCAL6hSdrmvYUTPzAl38pzih0CgYEA5huw/z786P6+lOHMQY/L
|
||||
b9qVcu3oAlpZn9r1Tw5X0ejsa+kcSqnT/d1CjtVjasnGJP0p4mchKyhwwgJkCibH
|
||||
ah0n5tR31CEtP2wHbOP2xOOwEYaEsHQKujHzgCyamMQk9Adt5fLwdhsSyVSaFhll
|
||||
fqsUu3MM72qGX8XHLoTy0iUCgYAx7AI9xFNEStIXyPKEdNiGsqCPORzk6NsWW7qO
|
||||
uYTylMk7tyU1/L1eYePQvu6gV5IZ6GcwaLkTNep7NVgsvV0e9ZT1ku/a7OgpivRX
|
||||
fCU3ZzkkE5YqvT2lJA9sKG/PzQIUoX9i7lVRE45CwRWkm3VaoxFtClLBVgYIEVNA
|
||||
5NQevQKBgCv+Gl7uk1N9VrlD2XwwmHCWooqVr3FPOq6ztX4014DzZmxkyem9GJGZ
|
||||
uyuzM4bKjb/lmk4RI19VZoExyt+7K3eWUSUQNS6Erhcjx74+vSngKOV2TNiGnByx
|
||||
oJoUlKquhEijlX/pJtH8812EYGtm5COkRA2QkWfr6hb6KQtz4wq7
|
||||
-----END RSA PRIVATE KEY-----
|
18
certifikaty/server/vygenerovany_certifikat.pem
Normal file
18
certifikaty/server/vygenerovany_certifikat.pem
Normal file
@ -0,0 +1,18 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIC9TCCAl6gAwIBAgIQbFmaYwjF3/SehWXgHj8HwjANBgkqhkiG9w0BAQsFADBz
|
||||
MQswCQYDVQQGEwJTSzEKMAgGA1UECAwBLTEPMA0GA1UEBwwGS29zaWNlMREwDwYD
|
||||
VQQKDAhBdXRvcml0YTESMBAGA1UEAwwJbG9jYWwuZGV2MSAwHgYJKoZIhvcNAQkB
|
||||
FhFhdXRvcml0YUB0dWtlLmNvbTAiGA8yMDIwMDMxODEyMjkyOVoYDzIwMjUwMzE4
|
||||
MTIyOTI5WjB3MQswCQYDVQQGEwJTUjEKMAgGA1UECAwBLTEPMA0GA1UEBwwGS29z
|
||||
aWNlMQowCAYDVQQKDAEtMQowCAYDVQQLDAEtMRIwEAYDVQQDDAlsb2NhbC5kZXYx
|
||||
HzAdBgkqhkiG9w0BCQEWEHNlcnZlckBzZXJ2ZXIuc2swggEiMA0GCSqGSIb3DQEB
|
||||
AQUAA4IBDwAwggEKAoIBAQC2anE0gd6zuFQw2T+PLZg9KHlm9+TjrkHXc3zxFw4g
|
||||
uNgGxwi4TMGoUMVyUsEWtBHYkF/Zx5fWD292RItXd5GsrvyUjOgOF9BMfAh8MkHa
|
||||
HqQiFOzw7LAwbzCiNU82ZIWAbQvivnLXTmygFPbB+LlDcCLS3U738x46rrQaHuGe
|
||||
wNj4BBDSMVqAeN3z966Yf1YIXIe4rPQivRTGgtJYUfjL4b9sB6dgNmBUzmI5DRil
|
||||
olEwkHm9AuZ2mwfHcBUvCc24iN9q8lY6fjAqIQo0+NFYhvi2jibvUTy6dOxEUbKg
|
||||
R14mye/vF+fNaT2NHMVBHqYxA0dnPw3nQQMOuR3WCt9zAgMBAAEwDQYJKoZIhvcN
|
||||
AQELBQADgYEAiBxxdJm1VUxUVsY31LMpe3pIbicSVi+91rtsii02tbMEBl8o4UKQ
|
||||
xfJyZaWQW0gZ3rcgcquYU/SKpsjiYwzPjx10IX8htHibmgSS4EC5L5poKBncjSmC
|
||||
tWmJEILZl9dXPUrIOuJOa4hBeK54chVFsszm2mhbJsYGvOA8z0gcc94=
|
||||
-----END CERTIFICATE-----
|
27
certifikaty/server/vygenerovany_kluc.key
Normal file
27
certifikaty/server/vygenerovany_kluc.key
Normal file
@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEpAIBAAKCAQEAtmpxNIHes7hUMNk/jy2YPSh5Zvfk465B13N88RcOILjYBscI
|
||||
uEzBqFDFclLBFrQR2JBf2ceX1g9vdkSLV3eRrK78lIzoDhfQTHwIfDJB2h6kIhTs
|
||||
8OywMG8wojVPNmSFgG0L4r5y105soBT2wfi5Q3Ai0t1O9/MeOq60Gh7hnsDY+AQQ
|
||||
0jFagHjd8/eumH9WCFyHuKz0Ir0UxoLSWFH4y+G/bAenYDZgVM5iOQ0YpaJRMJB5
|
||||
vQLmdpsHx3AVLwnNuIjfavJWOn4wKiEKNPjRWIb4to4m71E8unTsRFGyoEdeJsnv
|
||||
7xfnzWk9jRzFQR6mMQNHZz8N50EDDrkd1grfcwIDAQABAoIBAAja3JPymfTvcGbO
|
||||
pPSLqhA4nsFjgeDrh0FbgdJ85AVX87n11Mky21O9rVgCBw2AaugFr3bK5ualPoE8
|
||||
jTxkZCtAc1JiugEKduS/lfSGxrDn5op2VD99vdpxYKhUc3vtypfpXeJWjGHslKlQ
|
||||
sInJ9nRSRTPR5RDJjyDEyklaURQmWLHAs3JcZ6pRkpLvPo8MJP5iVfoXze0QZg+4
|
||||
Zvs+xAtpoy9I06MSi+J4e6EzLTRFXXkmkVHxMK1wKw9yNl0tl1+eQ3i5lzJmiTev
|
||||
noRVkmBRhATcdEnlSJVdiUOrZAmGS1As+IQiLrPyO7AKG7Ukr2lJHhLm/C6YblzR
|
||||
QeHefIECgYEA5hiY4uJZxAidSzBpq/1Osan66uYC3e5FYm9KSvYQbe6GgLTM0e4d
|
||||
3CRbEYLBTVf4BCtRUFyMRMMvzvme+oFZf38QdFaxdnyYwmzA1+Ls7LsZjPYF2oJE
|
||||
b+oMi1UEJs8jXJkQ5tuI5SP/kasBxPRi/T1WANpduPzQCzzvjs6xxrkCgYEAyvOx
|
||||
JRtqM26+2rdkQrClRAf1HFv2ej0vjyOhIuEK4WG6NFdqqm3zQzIHvxaGuAkBfyNk
|
||||
g+QEQvbx8PLx5bmaDTcV48Hf40h8a4W7HFRK3sa+Zk2w+ih4iW+RC6XBOyqmTJEi
|
||||
IGCXlIP/6RJZkrT9YrsyzI6edHCdatgKd9EHQYsCgYBDW3X+DQb8JQ1uwlhc2cVc
|
||||
qwbiFr1GHIdBPpUABrJejBHhwYun9M3W8Omb4awWqSbYiZm/Lah+RKlNLLPGX3FE
|
||||
qny1od9HcUgCunVlfW+gCVF8e1TRV4sTO++6JgQWHFMcu05AVonnkjcxfF8DOgt0
|
||||
WK1BiKshCRkaARebtZRDOQKBgQCGWxG42Q9TgUtEDAiJxduC0CnKXm8ruXnUruer
|
||||
6YOEdWgJ4p0wup1CrMpIDKefCgc9nbabQcY4drbwpkTRqi979C2/m8eV9ZS4sc2P
|
||||
EZaHKNc/bstssIIrqfpB1be4baGuKp6HBKsUnNY7+/PklYDxbbBRj1EDENKFuwQj
|
||||
EfRVxQKBgQCIRBRzvyRJXmYMfvFXmDWeTe3koj+hjT3O8jXvojURsiBOL714Avsl
|
||||
7ENawNWqWUC1ZbfsLmB5G0BrQ7GgXHBXAE1lXEXLBfxt1n43s9sUsuZMKcrw20l7
|
||||
W+NvLcec5eeXdxetkqOTqi7PG4tHMDeRKlLdgo+MumjI+Muw32iVqw==
|
||||
-----END RSA PRIVATE KEY-----
|
@ -1,18 +1,18 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
|
@ -1,27 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
@ -9,6 +9,13 @@
|
||||
#include "komunikacia.h"
|
||||
#include "kryptografia.h"
|
||||
|
||||
hashovacia_funkcia h_funkcia;
|
||||
|
||||
void nastav_funkciu(hashovacia_funkcia funkcia)
|
||||
{
|
||||
h_funkcia = funkcia;
|
||||
}
|
||||
|
||||
int poslat_subor(WOLFSSL* ssl, WOLFSSL_CTX* ctx, char* cesta)
|
||||
{
|
||||
int uspech;
|
||||
@ -48,17 +55,6 @@ int poslat_subor(WOLFSSL* ssl, WOLFSSL_CTX* ctx, char* cesta)
|
||||
fseek(subor, 0, SEEK_SET);
|
||||
fread(pole, 1, velkost, subor);
|
||||
fclose(subor);
|
||||
|
||||
//generovanie a poslanie kontrolneho suctu serveru pre kontrolu
|
||||
byte* hash;
|
||||
hash = generovat_hash(cesta);
|
||||
for(int i = 0; i < VELKOST_HASHU; i++) hash[i] = (char)hash[i];
|
||||
wolfSSL_write(ssl, hash, VELKOST_HASHU);
|
||||
if(uspech <= 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri posielani hashu.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
//posielanie jednotlivych bajtov
|
||||
for(int i = 0; i < velkost + 1; ++i)
|
||||
@ -72,6 +68,21 @@ int poslat_subor(WOLFSSL* ssl, WOLFSSL_CTX* ctx, char* cesta)
|
||||
pole_uk += 1;
|
||||
}
|
||||
printf("Subor bol uspesne odoslany.\n");
|
||||
|
||||
//generovanie a poslanie kontrolneho suctu serveru pre kontrolu
|
||||
byte* kontrolny_sucet;
|
||||
int velkost_kontrolneho_suctu;
|
||||
kontrolny_sucet = generovat_kontrolny_sucet_suboru(h_funkcia, cesta, &velkost_kontrolneho_suctu);
|
||||
for(int i = 0; i < velkost_kontrolneho_suctu; i++)
|
||||
{
|
||||
kontrolny_sucet[i] = (char)kontrolny_sucet[i];
|
||||
}
|
||||
wolfSSL_write(ssl, kontrolny_sucet, velkost_kontrolneho_suctu);
|
||||
if(uspech <= 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri posielani kontrolneho suctu.\n");
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -109,15 +120,6 @@ int prijat_subor(WOLFSSL* ssl, WOLFSSL_CTX* ctx)
|
||||
printf("Velkost suboru: %s bajtov\n", velkost_suboru);
|
||||
}
|
||||
|
||||
//prijem hashu, ktory vypocital server
|
||||
char* prijaty_hash = calloc(VELKOST_HASHU, sizeof(char));
|
||||
uspech = wolfSSL_read(ssl, prijaty_hash, VELKOST_HASHU);
|
||||
if(uspech <= 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri prijati hashu\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
//prijem jednotlivych bajtov
|
||||
char* pole = malloc(velkost);
|
||||
char* pole_uk = pole;
|
||||
@ -126,24 +128,42 @@ int prijat_subor(WOLFSSL* ssl, WOLFSSL_CTX* ctx)
|
||||
uspech = wolfSSL_read(ssl, pole_uk, velkost);
|
||||
if(uspech <= 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri prijati suboru\n");
|
||||
fprintf(stderr, "Nastala chyba pri prijati suboru.\n");
|
||||
return -1;
|
||||
}
|
||||
pole_uk += 1;
|
||||
}
|
||||
printf("Subor bol uspesne prijaty.\n");
|
||||
|
||||
//vypocet vlastneho kontrolneho suctu
|
||||
byte* kontrolny_sucet;
|
||||
int velkost_kontrolneho_suctu;
|
||||
kontrolny_sucet = generovat_kontrolny_sucet_suboru(h_funkcia, cesta, &velkost_kontrolneho_suctu);
|
||||
|
||||
//prijem hashu, ktory vypocital server
|
||||
char* prijaty_kontrolny_sucet = calloc(velkost_kontrolneho_suctu, sizeof(char));
|
||||
uspech = wolfSSL_read(ssl, prijaty_kontrolny_sucet, velkost_kontrolneho_suctu);
|
||||
if(uspech <= 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri prijati kontrolneho suctu.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
//kontrola ci sa prijaty a vypocitany kontrolny sucet suboru zhoduju
|
||||
byte* vypocitany_hash;
|
||||
vypocitany_hash = generovat_hash(cesta);
|
||||
for(int i = 0; i < VELKOST_HASHU; i++) vypocitany_hash[i] = (char)vypocitany_hash[i];
|
||||
if(!strcmp(prijaty_hash, vypocitany_hash))
|
||||
for(int i = 0; i < velkost_kontrolneho_suctu; i++)
|
||||
{
|
||||
kontrolny_sucet[i] = (char)kontrolny_sucet[i];
|
||||
}
|
||||
printf("%s\n", prijaty_kontrolny_sucet);
|
||||
printf("%s\n", kontrolny_sucet);
|
||||
if(!strcmp(prijaty_kontrolny_sucet, kontrolny_sucet))
|
||||
{
|
||||
printf("Subor prisiel v poriadku.\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Subor neprisiel v poriadku.\n");
|
||||
fprintf(stderr, "Kontrolne sucty sa nezhoduju.\n");
|
||||
printf("Subor neprisiel v poriadku alebo neboli pouzite rovnake funkcie.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -14,9 +14,10 @@
|
||||
#include <string.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
|
||||
#include "kryptografia.h"
|
||||
|
||||
#define VELKOST_CESTY 64 //velkost retazca, kt. uklada lokaciu suboru
|
||||
#define VELKOST_SUBOR 32 //velkost retazca, kt. uklada velkost prenasaneho suboru
|
||||
#define VELKOST_HASHU 20
|
||||
|
||||
#if defined(_WIN32)
|
||||
//makro ktore urcuje win distribuciu ak nieje detekovana
|
||||
@ -112,4 +113,12 @@ int poslat_subor(WOLFSSL* ssl, WOLFSSL_CTX* ctx, char* cesta);
|
||||
*/
|
||||
int prijat_subor(WOLFSSL* ssl, WOLFSSL_CTX* ctx);
|
||||
|
||||
/**
|
||||
* nastav_funkciu: nastavi hashovaciu funkciu ktora bude pouzita pri vypocte kontrolneho suctu suboru
|
||||
* @paramater hashovacia_funkcia funkcia : nazov hashovacej funkcie
|
||||
moznosti: funkcia_SHA, funkcia_SHA224, funkcia_SHA256, funkcia_SHA384, funkcia_SHA512, funkcia_BLAKE2B, funkcia_RIPEMD160
|
||||
*/
|
||||
void nastav_funkciu(hashovacia_funkcia funkcia);
|
||||
|
||||
|
||||
#endif
|
@ -49,35 +49,43 @@ void zobraz_sifru(WOLFSSL* ssl)
|
||||
|
||||
int generovat_rsa_certifikat(int pocet_bitov, int exponent, int algoritmus, char* krajina, char* mesto, char* domena, char* email)
|
||||
{
|
||||
int uspech;
|
||||
int uspech = 0;
|
||||
|
||||
//premenne pre ukladanie dat autority
|
||||
RsaKey kluc_autorita;
|
||||
byte pem_autorita[VELKOST_BUFFERA];
|
||||
word32 pem_autorita_velkost;
|
||||
byte der_autorita[VELKOST_BUFFERA];
|
||||
word32 der_autorita_velkost;
|
||||
byte der_autorita_certifikat[VELKOST_BUFFERA];
|
||||
int der_autorita_certifikat_velkost;
|
||||
byte der_autorita_kluc[VELKOST_BUFFERA];
|
||||
int der_autorita_kluc_velkost;
|
||||
|
||||
//vytvorenie struktury RsaKey autority zo sukromneho kluca vo formate PEM ulozeneho v subore certifikaty/autorita.key
|
||||
memset(pem_autorita, 0, sizeof(pem_autorita));
|
||||
FILE* subor = fopen("../certifikaty/autorita_rsa.key", "rb");
|
||||
pem_autorita_velkost = fread(pem_autorita, 1, VELKOST_BUFFERA, subor);
|
||||
if(pem_autorita_velkost < 0)
|
||||
//nacitanie certifikatu autority vo formate DER ulozeneho v subore certifikaty/autorita/autorita_rsa.der
|
||||
printf("Nacitavanie certifikatu autority zo suboru.\n");
|
||||
FILE* subor = fopen("../certifikaty/autorita/autorita_rsa.der", "rb");
|
||||
der_autorita_certifikat_velkost = fread(der_autorita_certifikat, 1, VELKOST_BUFFERA , subor);
|
||||
if(der_autorita_certifikat_velkost < 0)
|
||||
{
|
||||
fprintf(stderr, "Nepodarilo sa nacitat obsah suboru\n");
|
||||
}
|
||||
word32 index = 0; //nastavi odkial zacat citat buffer
|
||||
memset(der_autorita, 0, sizeof(der_autorita));
|
||||
der_autorita_velkost = wolfSSL_KeyPemToDer(pem_autorita, sizeof(pem_autorita), der_autorita, sizeof(der_autorita), "");
|
||||
wc_InitRsaKey(&kluc_autorita, 0);
|
||||
uspech = wc_RsaPrivateKeyDecode(der_autorita, &index, &kluc_autorita, der_autorita_velkost);
|
||||
if(uspech != 0)
|
||||
{
|
||||
fprintf(stderr, "Nepodarilo sa vytvorit RsaKey strukturu z kluca autority\n");
|
||||
fprintf(stderr, "Nepodarilo sa nacitat obsah suboru. \n");
|
||||
return -1;
|
||||
}
|
||||
RsaKey* k = &kluc_autorita;
|
||||
if (k == NULL)
|
||||
fclose(subor);
|
||||
printf("Nacitanie ukoncene. Bolo nacitanych %d bajtov.\n", der_autorita_certifikat_velkost);
|
||||
|
||||
//vytvorenie struktury RsaKey autority zo sukromneho kluca vo formate DER ulozeneho v subore certifikaty/autorita/autorita_kluc_rsa.der
|
||||
printf("Nacitavanie sukromneho kluca autority zo suboru.\n");
|
||||
subor = fopen("../certifikaty/autorita/autorita_kluc_rsa.der", "rb");
|
||||
der_autorita_kluc_velkost = fread(der_autorita_kluc, 1, VELKOST_BUFFERA , subor);
|
||||
if(der_autorita_kluc_velkost < 0)
|
||||
{
|
||||
fprintf(stderr, "Nepodarilo sa nacitat obsah suboru. \n");
|
||||
return -1;
|
||||
}
|
||||
fclose(subor);
|
||||
printf("Nacitanie ukoncene. Bolo nacitanych %d bajtov.\n", der_autorita_kluc_velkost);
|
||||
|
||||
word32 index = 0; //nastavi odkial zacat citat buffer
|
||||
wc_InitRsaKey(&kluc_autorita, 0);
|
||||
uspech = wc_RsaPrivateKeyDecode(der_autorita_kluc, &index, &kluc_autorita, der_autorita_kluc_velkost);
|
||||
if(uspech != 0)
|
||||
{
|
||||
fprintf(stderr, "Nepodarilo sa vytvorit RsaKey strukturu z kluca autority\n");
|
||||
return -1;
|
||||
@ -102,19 +110,21 @@ int generovat_rsa_certifikat(int pocet_bitov, int exponent, int algoritmus, char
|
||||
fprintf(stderr, "Chyba pri generovani kluca.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_kluc_velkost = wc_RsaKeyToDer(&kluc, der_kluc, sizeof(der_kluc));
|
||||
if(der_kluc_velkost < 0)
|
||||
uspech = wc_RsaKeyToDer(&kluc, der_kluc, sizeof(der_kluc));
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER so sukromnym klucom.\n");
|
||||
return -1;
|
||||
}
|
||||
der_kluc_velkost = uspech;
|
||||
memset(pem_kluc, 0, sizeof(pem_kluc));
|
||||
pem_kluc_velkost = wc_DerToPem(der_kluc, der_kluc_velkost, pem_kluc, sizeof(pem_kluc), PRIVATEKEY_TYPE);
|
||||
if(pem_kluc_velkost < 0)
|
||||
uspech = wc_DerToPem(der_kluc, der_kluc_velkost, pem_kluc, sizeof(pem_kluc), PRIVATEKEY_TYPE);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM so sukromnym klucom\n");
|
||||
return -1;
|
||||
}
|
||||
pem_kluc_velkost = uspech;
|
||||
|
||||
//zapis vygenerovaneho klucu do suboru
|
||||
subor = fopen("../certifikaty/vygenerovany_kluc.key", "wb");
|
||||
@ -142,31 +152,33 @@ int generovat_rsa_certifikat(int pocet_bitov, int exponent, int algoritmus, char
|
||||
certifikat.isCA = 0;
|
||||
certifikat.sigType = algoritmus;
|
||||
certifikat.daysValid = 1825;
|
||||
uspech = wc_SetIssuer(&certifikat, "../certifikaty/autorita_rsa.pem");
|
||||
uspech = wc_SetIssuerBuffer(&certifikat, der_autorita_certifikat, der_autorita_certifikat_velkost);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri nastaveni autority.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_certifikat_velkost = wc_MakeCert(&certifikat, der_certifikat, sizeof(der_certifikat), &kluc, NULL, &generator);
|
||||
if(der_certifikat_velkost < 0)
|
||||
uspech = wc_MakeCert(&certifikat, der_certifikat, sizeof(der_certifikat), &kluc, NULL, &generator);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER s certifikatom.\n");
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER s certifikatom.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_certifikat_velkost = wc_SignCert(certifikat.bodySz, certifikat.sigType, der_certifikat, sizeof(der_certifikat), &kluc_autorita, NULL, &generator);
|
||||
if(der_certifikat_velkost < 0)
|
||||
uspech = wc_SignCert(certifikat.bodySz, certifikat.sigType, der_certifikat, sizeof(der_certifikat), &kluc_autorita, NULL, &generator);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri podpisovani certifikatu.\n");
|
||||
return -1;
|
||||
}
|
||||
der_certifikat_velkost = uspech;
|
||||
memset(pem_certifikat, 0, sizeof(pem_certifikat));
|
||||
pem_certifikat_velkost = wc_DerToPem(der_certifikat, der_certifikat_velkost, pem_certifikat, sizeof(pem_certifikat), CERT_TYPE);
|
||||
if(pem_certifikat_velkost < 0)
|
||||
uspech = wc_DerToPem(der_certifikat, der_certifikat_velkost, pem_certifikat, sizeof(pem_certifikat), CERT_TYPE);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM s certifikatom.\n");
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM s certifikatom.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
pem_certifikat_velkost = uspech;
|
||||
|
||||
//zapis vygenerovaneho klucu do suboru
|
||||
subor = fopen("../certifikaty/vygenerovany_certifikat.pem", "wb");
|
||||
@ -184,27 +196,41 @@ int generovat_ecc_certifikat(int pocet_bitov, ecc_curve_id kluc_krivka, int algo
|
||||
|
||||
//premenne pre ukladanie dat autority
|
||||
ecc_key kluc_autorita;
|
||||
byte pem_autorita[VELKOST_BUFFERA];
|
||||
word32 pem_autorita_velkost;
|
||||
byte der_autorita[VELKOST_BUFFERA];
|
||||
word32 der_autorita_velkost;
|
||||
byte der_autorita_certifikat[VELKOST_BUFFERA];
|
||||
int der_autorita_certifikat_velkost;
|
||||
byte der_autorita_kluc[VELKOST_BUFFERA];
|
||||
int der_autorita_kluc_velkost;
|
||||
|
||||
//vytvorenie struktury ecc_key autority zo sukromneho kluca vo formate PEM ulozeneho v subore certifikaty/autorita_ecc.key
|
||||
memset(pem_autorita, 0, sizeof(pem_autorita));
|
||||
FILE* subor = fopen("../certifikaty/autorita_ecc.key", "rb");
|
||||
pem_autorita_velkost = fread(pem_autorita, 1, VELKOST_BUFFERA , subor);
|
||||
if(pem_autorita_velkost < 0)
|
||||
//nacitanie certifikatu autority vo formate DER ulozeneho v subore certifikaty/autorita/autorita_ecc.der
|
||||
printf("Nacitavanie certifikatu autority zo suboru.\n");
|
||||
FILE* subor = fopen("../certifikaty/autorita/autorita_ecc.der", "rb");
|
||||
der_autorita_certifikat_velkost = fread(der_autorita_certifikat, 1, VELKOST_BUFFERA , subor);
|
||||
if(der_autorita_certifikat_velkost < 0)
|
||||
{
|
||||
fprintf(stderr, "Nepodarilo sa nacitat obsah suboru\n");
|
||||
fprintf(stderr, "Nepodarilo sa nacitat obsah suboru. \n");
|
||||
return -1;
|
||||
}
|
||||
fclose(subor);
|
||||
word32 index = 0; //nastavi odkial zacat citat buffer
|
||||
der_autorita_velkost = wolfSSL_KeyPemToDer(pem_autorita, sizeof(pem_autorita), der_autorita, sizeof(der_autorita), "");
|
||||
wc_EccPrivateKeyDecode(der_autorita, &index, &kluc_autorita, der_autorita_velkost);
|
||||
ecc_key* k = &kluc_autorita;
|
||||
if (k == NULL)
|
||||
printf("Nacitanie ukoncene. Bolo nacitanych %d bajtov.\n", der_autorita_certifikat_velkost);
|
||||
|
||||
//vytvorenie struktury ecc_key autority zo sukromneho kluca vo formate DER ulozeneho v subore certifikaty/autorita/autorita_kluc_ecc.der
|
||||
printf("Nacitavanie sukromneho kluca autority zo suboru.\n");
|
||||
subor = fopen("../certifikaty/autorita/autorita_kluc_ecc.der", "rb");
|
||||
der_autorita_kluc_velkost = fread(der_autorita_kluc, 1, VELKOST_BUFFERA , subor);
|
||||
if(der_autorita_kluc_velkost < 0)
|
||||
{
|
||||
fprintf(stderr, "Nepodarilo sa vytvorit ecc_key strukturu z kluca autority\n");
|
||||
fprintf(stderr, "Nepodarilo sa nacitat obsah suboru. \n");
|
||||
return -1;
|
||||
}
|
||||
fclose(subor);
|
||||
printf("Nacitanie ukoncene. Bolo nacitanych %d bajtov.\n", der_autorita_kluc_velkost);
|
||||
|
||||
word32 index = 0; //nastavi odkial zacat citat buffer
|
||||
wc_ecc_init(&kluc_autorita);
|
||||
uspech = wc_EccPrivateKeyDecode(der_autorita_kluc, &index, &kluc_autorita, (word32)der_autorita_kluc_velkost);
|
||||
if(uspech != 0)
|
||||
{
|
||||
fprintf(stderr, "Chyba pri dekodovani kluca autority.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -227,25 +253,27 @@ int generovat_ecc_certifikat(int pocet_bitov, ecc_curve_id kluc_krivka, int algo
|
||||
fprintf(stderr, "Chyba pri generovani kluca.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_kluc_velkost = wc_EccKeyToDer(&kluc, der_kluc, sizeof(der_kluc));
|
||||
if(der_kluc_velkost < 0)
|
||||
uspech = wc_EccKeyToDer(&kluc, der_kluc, sizeof(der_kluc));
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER so sukromnym klucom.\n");
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER so sukromnym klucom.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
pem_kluc_velkost = wc_DerToPem(der_kluc, der_kluc_velkost, pem_kluc, sizeof(pem_kluc), ECC_PRIVATEKEY_TYPE);
|
||||
if(pem_kluc_velkost < 0)
|
||||
der_kluc_velkost = uspech;
|
||||
uspech = wc_DerToPem(der_kluc, der_kluc_velkost, pem_kluc, sizeof(pem_kluc), ECC_PRIVATEKEY_TYPE);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM so sukromnym klucom\n");
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM so sukromnym klucom.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
pem_kluc_velkost = uspech;
|
||||
|
||||
//zapis vygenerovaneho kluca do suboru
|
||||
subor = fopen("../certifikaty/vygenerovany_kluc.key", "wb");
|
||||
fwrite(pem_kluc, 1, pem_kluc_velkost, subor);
|
||||
fclose(subor);
|
||||
|
||||
printf("ECC kluc bol uspesne vygenerovany a nacitany.\n");
|
||||
printf("ECC kluc bol uspesne vygenerovany.\n");
|
||||
|
||||
//premenne pre ukladanie dat certifikatu
|
||||
Cert certifikat;
|
||||
@ -253,7 +281,7 @@ int generovat_ecc_certifikat(int pocet_bitov, ecc_curve_id kluc_krivka, int algo
|
||||
word32 der_certifikat_velkost;
|
||||
byte pem_certifikat[VELKOST_BUFFERA];
|
||||
word32 pem_certifikat_velkost;
|
||||
|
||||
|
||||
//vygenerovanie a podpis certifikatu
|
||||
wc_InitCert(&certifikat);
|
||||
strncpy(certifikat.subject.country, krajina, CTC_NAME_SIZE);
|
||||
@ -266,38 +294,194 @@ int generovat_ecc_certifikat(int pocet_bitov, ecc_curve_id kluc_krivka, int algo
|
||||
certifikat.isCA = 0;
|
||||
certifikat.sigType = algoritmus;
|
||||
certifikat.daysValid = 1825;
|
||||
uspech = wc_SetIssuer(&certifikat, "../certifikaty/autorita_ecc.pem");
|
||||
uspech = wc_SetIssuerBuffer(&certifikat, der_autorita_certifikat, der_autorita_certifikat_velkost);
|
||||
if(uspech != 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri nastaveni autority.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_certifikat_velkost = wc_MakeCert(&certifikat, der_certifikat, sizeof(der_certifikat), NULL, &kluc, &generator);
|
||||
if(der_certifikat_velkost < 0)
|
||||
uspech = wc_MakeCert(&certifikat, der_certifikat, sizeof(der_certifikat), NULL, &kluc, &generator);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER s certifikatom.\n");
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER s certifikatom.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_certifikat_velkost = wc_SignCert(certifikat.bodySz, certifikat.sigType, der_certifikat, sizeof(der_certifikat), NULL, &kluc_autorita, &generator);
|
||||
if(der_certifikat_velkost < 0)
|
||||
uspech = wc_SignCert(certifikat.bodySz, certifikat.sigType, der_certifikat, sizeof(der_certifikat), NULL, &kluc_autorita, &generator);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri podpisovani certifikatu.\n");
|
||||
fprintf(stderr, "Nastala chyba pri podpisovani certifikatu.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_certifikat_velkost = uspech;
|
||||
memset(pem_certifikat, 0, sizeof(pem_certifikat));
|
||||
pem_certifikat_velkost = wc_DerToPem(der_certifikat, der_certifikat_velkost, pem_certifikat, sizeof(pem_certifikat), CERT_TYPE);
|
||||
if(pem_certifikat_velkost < 0)
|
||||
uspech = wc_DerToPem(der_certifikat, der_certifikat_velkost, pem_certifikat, sizeof(pem_certifikat), CERT_TYPE);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM s certifikatom.\n");
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM s certifikatom.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
pem_certifikat_velkost = uspech;
|
||||
|
||||
//zapis vygenerovaneho klucu do suboru
|
||||
subor = fopen("../certifikaty/vygenerovany_certifikat.pem", "wb");
|
||||
fwrite(pem_certifikat, 1, pem_certifikat_velkost, subor);
|
||||
fclose(subor);
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int vygenerovat_rsa_ziadost(int pocet_bitov, int exponent, int algoritmus, char* krajina, char* mesto, char* domena, char* email)
|
||||
{
|
||||
int uspech = 0;
|
||||
|
||||
//generator nahodnych cisel
|
||||
WC_RNG generator;
|
||||
wc_InitRng(&generator);
|
||||
|
||||
//premenne pre ukladanie dat vygenerovaneho kluca
|
||||
RsaKey kluc;
|
||||
byte der_kluc[VELKOST_BUFFERA];
|
||||
word32 der_kluc_velkost;
|
||||
byte pem_kluc[VELKOST_BUFFERA];
|
||||
word32 pem_kluc_velkost;
|
||||
|
||||
//vygenerovanie kluca
|
||||
wc_InitRsaKey(&kluc, 0);
|
||||
uspech = wc_MakeRsaKey(&kluc, pocet_bitov, exponent, &generator);
|
||||
if(uspech != 0)
|
||||
{
|
||||
fprintf(stderr, "Chyba pri generovani kluca.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
uspech = wc_RsaKeyToDer(&kluc, der_kluc, sizeof(der_kluc));
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER so sukromnym klucom.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_kluc_velkost = uspech;
|
||||
memset(pem_kluc, 0, sizeof(pem_kluc));
|
||||
pem_kluc_velkost = wc_DerToPem(der_kluc, der_kluc_velkost, pem_kluc, sizeof(pem_kluc), PRIVATEKEY_TYPE);
|
||||
if(pem_kluc_velkost < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM so sukromnym klucom\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
//premenne pre ukladanie dat ziadosti
|
||||
Cert ziadost;
|
||||
byte der_ziadost[VELKOST_BUFFERA];
|
||||
word32 der_ziadost_velkost;
|
||||
byte pem_ziadost[VELKOST_BUFFERA];
|
||||
word32 pem_ziadost_velkost;
|
||||
|
||||
//vygenerovanie a podpis ziadosti
|
||||
wc_InitCert(&ziadost);
|
||||
strncpy(ziadost.subject.country, krajina, CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.state, "-", CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.locality, mesto, CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.org, "-", CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.unit, "-", CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.commonName, domena, CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.email, email, CTC_NAME_SIZE);
|
||||
ziadost.sigType = algoritmus;
|
||||
uspech = wc_MakeCertReq(&ziadost, der_ziadost, sizeof(der_ziadost), &kluc, NULL);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri generovani ziadosti.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
uspech = wc_SignCert(ziadost.bodySz, ziadost.sigType, der_ziadost, sizeof(der_ziadost), &kluc, NULL, &generator);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri podpisovani ziadosti.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_ziadost_velkost = uspech;
|
||||
memset(pem_ziadost, 0, sizeof(pem_ziadost));
|
||||
uspech = wc_DerToPem(der_ziadost, der_ziadost_velkost, pem_ziadost, sizeof(pem_ziadost), CERTREQ_TYPE);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM so ziadostou.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
int vygenerovat_ecc_ziadost(int pocet_bitov, ecc_curve_id kluc_krivka, int algoritmus, char* krajina, char* mesto, char* domena, char* email)
|
||||
{
|
||||
int uspech = 0;
|
||||
|
||||
//generator nahodnych cisel
|
||||
WC_RNG generator;
|
||||
wc_InitRng(&generator);
|
||||
|
||||
//premenne pre ukladanie dat vygenerovaneho kluca
|
||||
ecc_key kluc;
|
||||
byte der_kluc[VELKOST_BUFFERA];
|
||||
word32 der_kluc_velkost;
|
||||
byte pem_kluc[VELKOST_BUFFERA];
|
||||
word32 pem_kluc_velkost;
|
||||
|
||||
//vygenerovanie kluca
|
||||
wc_ecc_init(&kluc);
|
||||
uspech = wc_ecc_make_key_ex(&generator, pocet_bitov, &kluc, kluc_krivka);
|
||||
if(uspech != 0)
|
||||
{
|
||||
fprintf(stderr, "Chyba pri generovani kluca.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
uspech = wc_EccKeyToDer(&kluc, der_kluc, sizeof(der_kluc));
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru DER so sukromnym klucom.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_kluc_velkost = uspech;
|
||||
memset(pem_kluc, 0, sizeof(pem_kluc));
|
||||
pem_kluc_velkost = wc_DerToPem(der_kluc, der_kluc_velkost, pem_kluc, sizeof(pem_kluc), ECC_PRIVATEKEY_TYPE);
|
||||
if(pem_kluc_velkost < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM so sukromnym klucom\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
//premenne pre ukladanie dat ziadosti
|
||||
Cert ziadost;
|
||||
byte der_ziadost[VELKOST_BUFFERA];
|
||||
word32 der_ziadost_velkost;
|
||||
byte pem_ziadost[VELKOST_BUFFERA];
|
||||
word32 pem_ziadost_velkost;
|
||||
|
||||
//vygenerovanie a podpis ziadosti
|
||||
wc_InitCert(&ziadost);
|
||||
strncpy(ziadost.subject.country, krajina, CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.state, "-", CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.locality, mesto, CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.org, "-", CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.unit, "-", CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.commonName, domena, CTC_NAME_SIZE);
|
||||
strncpy(ziadost.subject.email, email, CTC_NAME_SIZE);
|
||||
ziadost.sigType = algoritmus;
|
||||
uspech = wc_MakeCertReq(&ziadost, der_ziadost, sizeof(der_ziadost), NULL, &kluc);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri generovani ziadosti.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
uspech = wc_SignCert(ziadost.bodySz, ziadost.sigType, der_ziadost, sizeof(der_ziadost), NULL, &kluc, &generator);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri podpisovani ziadosti.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
der_ziadost_velkost = uspech;
|
||||
memset(pem_ziadost, 0, sizeof(pem_ziadost));
|
||||
uspech = wc_DerToPem(der_ziadost, der_ziadost_velkost, pem_ziadost, sizeof(pem_ziadost), CERTREQ_TYPE);
|
||||
if(uspech < 0)
|
||||
{
|
||||
fprintf(stderr, "Nastala chyba pri vytvoreni suboru PEM so ziadostou.\nCislo chyby: %d\nDovod chyby: %s\n", uspech, wc_GetErrorString(uspech));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
int nacitat_certifikaty(WOLFSSL_CTX* ctx, const char* subor_certifikat, const char* subor_kluc)
|
||||
@ -342,7 +526,7 @@ void zobraz_certifikat(WOLFSSL* ssl)
|
||||
}
|
||||
if ((pole = wolfSSL_X509_NAME_oneline(wolfSSL_X509_get_subject_name(certifikat), 0, 0)))
|
||||
{
|
||||
printf("Nazov domeny: %s\n", pole);
|
||||
printf("Subjekt: %s\n", pole);
|
||||
//wolfSSL_free(line);
|
||||
}
|
||||
if ((pole = wolfSSL_X509_NAME_oneline(wolfSSL_X509_get_issuer_name(certifikat), 0, 0)))
|
||||
@ -353,17 +537,87 @@ void zobraz_certifikat(WOLFSSL* ssl)
|
||||
X509_free(certifikat);
|
||||
}
|
||||
|
||||
byte* generovat_hash(char* cesta)
|
||||
byte* generovat_kontrolny_sucet_suboru(hashovacia_funkcia funkcia, char* cesta, int* velkost)
|
||||
{
|
||||
int pocet_bajtov;
|
||||
FILE* subor = fopen(cesta, "rb");
|
||||
unsigned char data[1024];
|
||||
byte* vysledok = calloc(SHA_DIGEST_SIZE, sizeof(byte));
|
||||
Sha sha;
|
||||
wc_InitSha(&sha);
|
||||
while ((pocet_bajtov = fread (data, 1, 1024, subor)) != 0)
|
||||
wc_ShaUpdate(&sha, data, pocet_bajtov);
|
||||
wc_ShaFinal(&sha, vysledok);
|
||||
byte* vysledok;
|
||||
if(funkcia == funkcia_SHA)
|
||||
{
|
||||
*velkost = SHA_DIGEST_SIZE;
|
||||
vysledok = calloc(SHA_DIGEST_SIZE, sizeof(byte));
|
||||
Sha sha;
|
||||
wc_InitSha(&sha);
|
||||
while ((pocet_bajtov = fread (data, 1, 1024, subor)) != 0)
|
||||
wc_ShaUpdate(&sha, data, pocet_bajtov);
|
||||
wc_ShaFinal(&sha, vysledok);
|
||||
}
|
||||
else if(funkcia == funkcia_SHA224)
|
||||
{
|
||||
*velkost = SHA224_DIGEST_SIZE;
|
||||
vysledok = calloc(SHA224_DIGEST_SIZE, sizeof(byte));
|
||||
Sha224 sha;
|
||||
wc_InitSha224(&sha);
|
||||
while ((pocet_bajtov = fread (data, 1, 1024, subor)) != 0)
|
||||
wc_Sha224Update(&sha, data, pocet_bajtov);
|
||||
wc_Sha224Final(&sha, vysledok);
|
||||
}
|
||||
else if(funkcia == funkcia_SHA256)
|
||||
{
|
||||
*velkost = SHA256_DIGEST_SIZE;
|
||||
byte* vysledok = calloc(SHA256_DIGEST_SIZE, sizeof(byte));
|
||||
Sha256 sha;
|
||||
wc_InitSha256(&sha);
|
||||
while ((pocet_bajtov = fread (data, 1, 1024, subor)) != 0)
|
||||
wc_Sha256Update(&sha, data, pocet_bajtov);
|
||||
wc_Sha256Final(&sha, vysledok);
|
||||
}
|
||||
else if(funkcia == funkcia_SHA384)
|
||||
{
|
||||
*velkost = SHA384_DIGEST_SIZE;
|
||||
vysledok = calloc(SHA384_DIGEST_SIZE, sizeof(byte));
|
||||
Sha384 sha;
|
||||
wc_InitSha384(&sha);
|
||||
while ((pocet_bajtov = fread (data, 1, 1024, subor)) != 0)
|
||||
wc_Sha384Update(&sha, data, pocet_bajtov);
|
||||
wc_Sha384Final(&sha, vysledok);
|
||||
}
|
||||
else if(funkcia == funkcia_SHA512)
|
||||
{
|
||||
*velkost = WC_SHA512_DIGEST_SIZE;
|
||||
vysledok = calloc(WC_SHA512_DIGEST_SIZE, sizeof(byte));
|
||||
wc_Sha512 sha;
|
||||
wc_InitSha512(&sha);
|
||||
while ((pocet_bajtov = fread (data, 1, 1024, subor)) != 0)
|
||||
wc_Sha512Update(&sha, data, pocet_bajtov);
|
||||
wc_Sha512Final(&sha, vysledok);
|
||||
}
|
||||
else if(funkcia == funkcia_BLAKE2B)
|
||||
{
|
||||
*velkost = 64;
|
||||
vysledok = calloc(64, sizeof(byte));
|
||||
Blake2b b2b;
|
||||
wc_InitBlake2b(&b2b, 64);
|
||||
while ((pocet_bajtov = fread (data, 1, 1024, subor)) != 0)
|
||||
wc_Blake2bUpdate(&b2b, data, pocet_bajtov);
|
||||
wc_Blake2bFinal(&b2b, vysledok, 64);
|
||||
}
|
||||
else if(funkcia == funkcia_RIPEMD160)
|
||||
{
|
||||
*velkost = RIPEMD_DIGEST_SIZE;
|
||||
vysledok = calloc(RIPEMD_DIGEST_SIZE, sizeof(byte));
|
||||
RipeMd ripemd;
|
||||
wc_InitRipeMd(&ripemd);
|
||||
while ((pocet_bajtov = fread (data, 1, 1024, subor)) != 0)
|
||||
wc_RipeMdUpdate(&ripemd, data, pocet_bajtov);
|
||||
wc_RipeMdFinal(&ripemd, vysledok);
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "Nespravny nazov hashovacej funkcie.\n");
|
||||
exit(0);
|
||||
}
|
||||
return vysledok;
|
||||
}
|
||||
|
||||
|
@ -17,15 +17,27 @@
|
||||
#include <wolfssl/wolfcrypt/asn_public.h>
|
||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||
#include <wolfssl/wolfcrypt/sha.h>
|
||||
#include <wolfssl/wolfcrypt/sha256.h>
|
||||
#include <wolfssl/wolfcrypt/sha512.h>
|
||||
#include <wolfssl/wolfcrypt/ripemd.h>
|
||||
#include <wolfssl/wolfcrypt/blake2.h>
|
||||
|
||||
#define VELKOST_BUFFERA 4096
|
||||
|
||||
typedef enum hashovacia_funkcia {
|
||||
funkcia_SHA, funkcia_SHA224, funkcia_SHA256, funkcia_SHA384, funkcia_SHA512,
|
||||
funkcia_BLAKE2B, funkcia_RIPEMD160
|
||||
}hashovacia_funkcia;
|
||||
|
||||
/**
|
||||
* generovat_hash: realizuje vypocet kontrolneho suctu zo suboru, ktoreho lokacia je predana v argumente
|
||||
* @parameter char* funkcia : nazov funkcie pre vypocet kontrolneho suctu
|
||||
* @parameter char* cesta : lokacia suboru
|
||||
* @parameter int* velkost : uklada velkost kontrolneho suctu, ktoreho hodnota sa dynamicky priradi
|
||||
* na zaklade nazvu funkcie uvedenom v prvom argumente
|
||||
* @vrati smernik na vygenerovany hash
|
||||
*/
|
||||
byte* generovat_hash(char* cesta);
|
||||
byte* generovat_kontrolny_sucet_suboru(hashovacia_funkcia funkcia, char* cesta, int* velkost);
|
||||
|
||||
/**
|
||||
* generovat_ecc_certifikat: realizuje vygenerovania sukromneho kluca, nacitanie sukromneho kluca autority,
|
||||
@ -47,6 +59,25 @@ int generovat_ecc_certifikat(int pocet_bitov, ecc_curve_id kluc_krivka, int algo
|
||||
*/
|
||||
int generovat_rsa_certifikat(int pocet_bitov, int exponent, int algoritmus, char* krajina, char* mesto, char* domena, char* email);
|
||||
|
||||
/**
|
||||
* generovat_rsa_ziadost: realizuje vygenerovania sukromneho kluca, vygenerovanie a podpis ziadosti
|
||||
* @parameter int pocet_bitov : velkost kluca
|
||||
* @parameter ecc-curve_id kluc_krivka: kod krivky pre generovanie sukromneho kluca
|
||||
* @parameter int algoritmus: kod algoritmu, sluziaceho na vymenu klucov
|
||||
* @vrati int: operacia bola uspesna(0), neuspesna(-1)
|
||||
*/
|
||||
int generovat_rsa_ziadost(int pocet_bitov, int exponent, int algoritmus, char* krajina, char* mesto, char* domena, char* email);
|
||||
|
||||
/**
|
||||
* generovat_ecc_ziadost: realizuje vygenerovania sukromneho kluca, vygenerovanie a podpis ziadosti
|
||||
* @parameter int pocet_bitov : velkost kluca
|
||||
* @parameter ecc-curve_id kluc_krivka: kod krivky pre generovanie sukromneho kluca
|
||||
* @parameter int algoritmus: kod algoritmu, sluziaceho na vymenu klucov
|
||||
* @vrati int: operacia bola uspesna(0), neuspesna(-1)
|
||||
*/
|
||||
|
||||
int generovat_ecc_ziadost(int pocet_bitov, ecc_curve_id kluc_krivka, 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)
|
||||
|
Binary file not shown.
Binary file not shown.
@ -11,28 +11,42 @@ CC = gcc
|
||||
|
||||
#prepinace pre prekladac
|
||||
CFLAGS = -Wcpp -I./../wolfssl_hlavickove_subory/
|
||||
LIB32 = -L. -lwolfssl -lws2_32 -Os
|
||||
LIB64 = -L. -lwolfssl -lws2_32 -m64
|
||||
LIB = -L. -lwolfssl
|
||||
|
||||
ifeq ($(OS), Windows_NT)
|
||||
LIB += -lws2_32
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE), AMD64)
|
||||
LIB += -m64
|
||||
endif
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE), x86)
|
||||
LIB += -Os
|
||||
endif
|
||||
else
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S), Linux)
|
||||
LIB +=
|
||||
endif
|
||||
endif
|
||||
|
||||
all: klient server
|
||||
|
||||
klient: klient.o kryptografia.o komunikacia.o
|
||||
$(CC) $(CFLAGS) -o klient klient.o kryptografia.o komunikacia.o $(LIB64)
|
||||
$(CC) $(CFLAGS) -o klient klient.o kryptografia.o komunikacia.o $(LIB)
|
||||
|
||||
server: server.o kryptografia.o komunikacia.o
|
||||
$(CC) $(CFLAGS) -o server server.o kryptografia.o komunikacia.o $(LIB64)
|
||||
$(CC) $(CFLAGS) -o server server.o kryptografia.o komunikacia.o $(LIB)
|
||||
|
||||
klient.o: klient.c
|
||||
$(CC) $(CFLAGS) -c klient.c $(LIB64)
|
||||
$(CC) $(CFLAGS) -c klient.c $(LIB)
|
||||
|
||||
server.o: server.c
|
||||
$(CC) $(CFLAGS) -c server.c $(LIB64)
|
||||
$(CC) $(CFLAGS) -c server.c $(LIB)
|
||||
|
||||
kryptografia.o: ../kniznica/kryptografia.c ../kniznica/kryptografia.h
|
||||
$(CC) $(CFLAGS) -c ../kniznica/kryptografia.c $(LIB64)
|
||||
$(CC) $(CFLAGS) -c ../kniznica/kryptografia.c $(LIB)
|
||||
|
||||
komunikacia.o: ../kniznica/komunikacia.c ../kniznica/komunikacia.h
|
||||
$(CC) $(CFLAGS) -c ../kniznica/komunikacia.c $(LIB64)
|
||||
$(CC) $(CFLAGS) -c ../kniznica/komunikacia.c $(LIB)
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
|
@ -15,8 +15,17 @@
|
||||
#define ECC_VELKOST 32
|
||||
#define RSA_EXPONENT 65537
|
||||
|
||||
//cesty ku suborom
|
||||
#define RSA_KLUC "../certifikaty/klient/klient_rsa.key"
|
||||
#define RSA_CERTIFIKAT "../certifikaty/klient/klient_rsa.pem"
|
||||
#define ECC_KLUC "../certifikaty/klient/klient_ecc.key"
|
||||
#define ECC_CERTIFIKAT "../certifikaty/klient/klient_ecc.pem"
|
||||
#define VYGENEROVANY_KLUC "../certifikaty/klient/vygenerovany_kluc.key"
|
||||
#define VYGENEROVANY_CERTIFIKAT "../certifikaty/klient/vygenerovany_certifikat.pem"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int uspech;
|
||||
int generovanie_certifikatu = 0;
|
||||
int nacitanie_zo_suboru = 0;
|
||||
int uvedeny_subor = 0;
|
||||
@ -104,19 +113,13 @@ int main(int argc, char** argv)
|
||||
}
|
||||
else if(!strcmp(argv[i+1], "rsa"))
|
||||
{
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita_rsa.pem", NULL);
|
||||
subor_certifikat = "../certifikaty/klient_rsa.pem";
|
||||
subor_kluc = "../certifikaty/klient_rsa.key";
|
||||
if(nacitat_certifikaty(ctx, subor_certifikat, subor_kluc) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, 0);
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita/autorita_rsa.pem", NULL);
|
||||
if(nacitat_certifikaty(ctx, RSA_CERTIFIKAT, RSA_KLUC) == -1) return -1;
|
||||
}
|
||||
else if(!strcmp(argv[i+1], "ecc"))
|
||||
{
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita_ecc.pem", NULL);
|
||||
subor_certifikat = "../certifikaty/klient_ecc.pem";
|
||||
subor_kluc = "../certifikaty/klient_ecc.key";
|
||||
if(nacitat_certifikaty(ctx, subor_certifikat, subor_kluc) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, 0);
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita/autorita_ecc.pem", NULL);
|
||||
if(nacitat_certifikaty(ctx, ECC_CERTIFIKAT, ECC_KLUC) == -1) return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -136,20 +139,15 @@ int main(int argc, char** argv)
|
||||
{
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita_rsa.pem", NULL);
|
||||
if(generovat_rsa_certifikat(RSA_VELKOST, RSA_EXPONENT, CTC_SHA256wRSA, "SR", "Kosice", "local.dev", "klient@klient.sk") == -1) return -1;
|
||||
subor_certifikat = "../certifikaty/vygenerovany_certifikat.pem";
|
||||
subor_kluc = "../certifikaty/vygenerovany_kluc.key";
|
||||
if(nacitat_certifikaty(ctx, subor_certifikat, subor_kluc) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, 0);
|
||||
if(nacitat_certifikaty(ctx, VYGENEROVANY_CERTIFIKAT, VYGENEROVANY_KLUC) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
|
||||
}
|
||||
else if(!strcmp(argv[i+1], "ecc"))
|
||||
{
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita_ecc.pem", NULL);
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita/autorita_ecc.pem", NULL);
|
||||
if(generovat_ecc_certifikat(ECC_VELKOST, ECC_SECP256R1, CTC_SHAwECDSA, "SR", "Kosice", "local.dev", "klient@klient.sk") == -1) return -1;
|
||||
subor_certifikat = "../certifikaty/vygenerovany_certifikat.pem";
|
||||
subor_kluc = "../certifikaty/vygenerovany_kluc.key";
|
||||
if(nacitat_certifikaty(ctx, subor_certifikat, subor_kluc) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, 0);
|
||||
|
||||
if(nacitat_certifikaty(ctx, VYGENEROVANY_CERTIFIKAT, VYGENEROVANY_KLUC) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -202,6 +200,7 @@ int main(int argc, char** argv)
|
||||
}
|
||||
zobraz_sifru(ssl);
|
||||
zobraz_certifikat(ssl);
|
||||
nastav_funkciu(funkcia_BLAKE2B);
|
||||
if(poslat_subor(ssl, ctx, subor) == -1) return -1;
|
||||
ukoncit_spojenie(ssl, ctx);
|
||||
}
|
||||
|
@ -15,6 +15,14 @@
|
||||
#define ECC_VELKOST 32
|
||||
#define RSA_EXPONENT 65537
|
||||
|
||||
//cesty ku suborom
|
||||
#define RSA_KLUC "../certifikaty/server/server_rsa.key"
|
||||
#define RSA_CERTIFIKAT "../certifikaty/server/server_rsa.pem"
|
||||
#define ECC_KLUC "../certifikaty/server/server_ecc.key"
|
||||
#define ECC_CERTIFIKAT "../certifikaty/server/server_ecc.pem"
|
||||
#define VYGENEROVANY_KLUC "../certifikaty/server/vygenerovany_kluc.key"
|
||||
#define VYGENEROVANY_CERTIFIKAT "../certifikaty/server/vygenerovany_certifikat.pem"
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
|
||||
@ -34,8 +42,6 @@ int main(int argc, char **argv)
|
||||
|
||||
int cislo_soketu;
|
||||
int cislo_portu = 0;
|
||||
const char *subor_certifikat = NULL;
|
||||
const char *subor_kluc = NULL;
|
||||
WOLFSSL_CTX* ctx;
|
||||
|
||||
if((ctx = nastavit_ctx_server()) == NULL)
|
||||
@ -76,20 +82,16 @@ int main(int argc, char **argv)
|
||||
}
|
||||
else if(!strcmp(argv[i+1], "rsa"))
|
||||
{
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita_rsa.pem", NULL);
|
||||
subor_certifikat = "../certifikaty/server_rsa.pem";
|
||||
subor_kluc = "../certifikaty/server_rsa.key";
|
||||
if(nacitat_certifikaty(ctx, subor_certifikat, subor_kluc) == -1) return -1;
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita/autorita_rsa.pem", NULL);
|
||||
if(nacitat_certifikaty(ctx, RSA_CERTIFIKAT, RSA_KLUC) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
|
||||
|
||||
}
|
||||
else if(!strcmp(argv[i+1], "ecc"))
|
||||
{
|
||||
printf("jo\n");
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita_ecc.pem", NULL);
|
||||
subor_certifikat = "../certifikaty/server_ecc.pem";
|
||||
subor_kluc = "../certifikaty/server_ecc.key";
|
||||
if(nacitat_certifikaty(ctx, subor_certifikat, subor_kluc) == -1) return -1;
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita/autorita_ecc.pem", NULL);
|
||||
if(nacitat_certifikaty(ctx, ECC_CERTIFIKAT, ECC_KLUC) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
|
||||
|
||||
}
|
||||
@ -114,24 +116,16 @@ int main(int argc, char **argv)
|
||||
}
|
||||
else if(!strcmp(argv[i+1], "rsa"))
|
||||
{
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita_rsa.pem", NULL);
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita/autorita_rsa.pem", NULL);
|
||||
if(generovat_rsa_certifikat(RSA_VELKOST, RSA_EXPONENT, CTC_SHA256wRSA, "SR", "Kosice", "local.dev", "server@server.sk") == -1) return -1;
|
||||
subor_certifikat = "../certifikaty/vygenerovany_certifikat.pem";
|
||||
subor_kluc = "../certifikaty/vygenerovany_kluc.key";
|
||||
if(nacitat_certifikaty(ctx, subor_certifikat, subor_kluc) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
|
||||
if(nacitat_certifikaty(ctx, VYGENEROVANY_CERTIFIKAT, VYGENEROVANY_KLUC) == -1) return -1;
|
||||
|
||||
}
|
||||
else if(!strcmp(argv[i+1], "ecc"))
|
||||
{
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita_ecc.pem", NULL);
|
||||
wolfSSL_CTX_load_verify_locations(ctx, "../certifikaty/autorita/autorita_ecc.pem", NULL);
|
||||
if(generovat_ecc_certifikat(ECC_VELKOST, ECC_SECP256R1, CTC_SHAwECDSA, "SR", "Kosice", "local.dev", "server@server.sk") == -1) return -1;
|
||||
subor_certifikat = "../certifikaty/vygenerovany_certifikat.pem";
|
||||
subor_kluc = "../certifikaty/vygenerovany_kluc.key";
|
||||
if(nacitat_certifikaty(ctx, subor_certifikat, subor_kluc) == -1) return -1;
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
|
||||
|
||||
|
||||
if(nacitat_certifikaty(ctx, VYGENEROVANY_CERTIFIKAT, VYGENEROVANY_KLUC) == -1) return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -180,6 +174,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
zobraz_sifru(ssl);
|
||||
zobraz_certifikat(ssl);
|
||||
nastav_funkciu(funkcia_BLAKE2B);
|
||||
prijat_subor(ssl, ctx);
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -344,12 +344,10 @@ WOLFSSL_API int wc_MakeCert_ex(Cert* cert, byte* derBuffer, word32 derSz,
|
||||
int keyType, void* key, WC_RNG* rng);
|
||||
WOLFSSL_API int wc_MakeCert(Cert*, byte* derBuffer, word32 derSz, RsaKey*,
|
||||
ecc_key*, WC_RNG*);
|
||||
#ifdef WOLFSSL_CERT_REQ
|
||||
WOLFSSL_API int wc_MakeCertReq_ex(Cert*, byte* derBuffer, word32 derSz,
|
||||
int, void*);
|
||||
WOLFSSL_API int wc_MakeCertReq(Cert*, byte* derBuffer, word32 derSz,
|
||||
RsaKey*, ecc_key*);
|
||||
#endif
|
||||
WOLFSSL_API int wc_SignCert_ex(int requestSz, int sType, byte* buffer,
|
||||
word32 buffSz, int keyType, void* key,
|
||||
WC_RNG* rng);
|
||||
|
@ -28,8 +28,6 @@
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#if defined(HAVE_BLAKE2) || defined(HAVE_BLAKE2S)
|
||||
|
||||
#include <wolfssl/wolfcrypt/blake2-int.h>
|
||||
|
||||
/* call old functions if using fips for the sake of hmac @wc_fips */
|
||||
@ -46,10 +44,8 @@
|
||||
|
||||
/* in bytes, variable digest size up to 512 bits (64 bytes) */
|
||||
enum {
|
||||
#ifdef HAVE_BLAKE2B
|
||||
BLAKE2B_ID = WC_HASH_TYPE_BLAKE2B,
|
||||
BLAKE2B_256 = 32, /* 256 bit type, SSL default */
|
||||
#endif
|
||||
#ifdef HAVE_BLAKE2S
|
||||
BLAKE2S_ID = WC_HASH_TYPE_BLAKE2S,
|
||||
BLAKE2S_256 = 32 /* 256 bit type */
|
||||
@ -57,13 +53,11 @@ enum {
|
||||
};
|
||||
|
||||
|
||||
#ifdef HAVE_BLAKE2B
|
||||
/* BLAKE2b digest */
|
||||
typedef struct Blake2b {
|
||||
blake2b_state S[1]; /* our state */
|
||||
word32 digestSz; /* digest size used on init */
|
||||
} Blake2b;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_BLAKE2S
|
||||
/* BLAKE2s digest */
|
||||
@ -74,11 +68,9 @@ typedef struct Blake2s {
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef HAVE_BLAKE2B
|
||||
WOLFSSL_API int wc_InitBlake2b(Blake2b*, word32);
|
||||
WOLFSSL_API int wc_Blake2bUpdate(Blake2b*, const byte*, word32);
|
||||
WOLFSSL_API int wc_Blake2bFinal(Blake2b*, byte*, word32);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_BLAKE2S
|
||||
WOLFSSL_API int wc_InitBlake2s(Blake2s*, word32);
|
||||
@ -91,6 +83,5 @@ WOLFSSL_API int wc_Blake2sFinal(Blake2s*, byte*, word32);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* HAVE_BLAKE2 || HAVE_BLAKE2S */
|
||||
#endif /* WOLF_CRYPT_BLAKE2_H */
|
||||
|
||||
|
@ -68,7 +68,7 @@ enum {
|
||||
IPAD = 0x36,
|
||||
OPAD = 0x5C,
|
||||
|
||||
/* If any hash is not enabled, add the ID here. */
|
||||
/* If any hash is not enabled, add the ID here.
|
||||
#ifdef NO_MD5
|
||||
WC_MD5 = WC_HASH_TYPE_MD5,
|
||||
#endif
|
||||
@ -93,6 +93,7 @@ enum {
|
||||
WC_SHA3_384 = WC_HASH_TYPE_SHA3_384,
|
||||
WC_SHA3_512 = WC_HASH_TYPE_SHA3_512,
|
||||
#endif
|
||||
*/
|
||||
#ifdef HAVE_PKCS11
|
||||
HMAC_MAX_ID_LEN = 32,
|
||||
#endif
|
||||
|
@ -28,8 +28,6 @@
|
||||
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
|
||||
#ifdef WOLFSSL_RIPEMD
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@ -63,5 +61,4 @@ WOLFSSL_API int wc_RipeMdFinal(RipeMd*, byte*);
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_RIPEMD */
|
||||
#endif /* WOLF_CRYPT_RIPEMD_H */
|
||||
|
@ -202,7 +202,6 @@ WOLFSSL_API void wc_Sha256SizeSet(wc_Sha256*, word32);
|
||||
WOLFSSL_API int wc_Sha256GetFlags(wc_Sha256* sha256, word32* flags);
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_SHA224
|
||||
/* avoid redefinition of structs */
|
||||
#if !defined(HAVE_FIPS) || \
|
||||
(defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2))
|
||||
@ -244,8 +243,6 @@ WOLFSSL_API int wc_Sha224Copy(wc_Sha224* src, wc_Sha224* dst);
|
||||
WOLFSSL_API int wc_Sha224GetFlags(wc_Sha224* sha224, word32* flags);
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_SHA224 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
@ -29,8 +29,6 @@
|
||||
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
|
||||
#if defined(WOLFSSL_SHA512) || defined(WOLFSSL_SHA384)
|
||||
|
||||
#if defined(HAVE_FIPS) && \
|
||||
defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)
|
||||
#include <wolfssl/wolfcrypt/fips.h>
|
||||
@ -151,7 +149,6 @@ WOLFSSL_LOCAL void Transform_Sha512_Len(wc_Sha512* sha512, const byte* data,
|
||||
word32 len);
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_SHA512
|
||||
|
||||
WOLFSSL_API int wc_InitSha512(wc_Sha512*);
|
||||
WOLFSSL_API int wc_InitSha512_ex(wc_Sha512*, void*, int);
|
||||
@ -168,9 +165,6 @@ WOLFSSL_API int wc_Sha512Copy(wc_Sha512* src, wc_Sha512* dst);
|
||||
WOLFSSL_API int wc_Sha512GetFlags(wc_Sha512* sha512, word32* flags);
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_SHA512 */
|
||||
|
||||
#if defined(WOLFSSL_SHA384)
|
||||
|
||||
/* avoid redefinition of structs */
|
||||
#if !defined(HAVE_FIPS) || \
|
||||
@ -217,12 +211,9 @@ WOLFSSL_API int wc_Sha384Copy(wc_Sha384* src, wc_Sha384* dst);
|
||||
WOLFSSL_API int wc_Sha384GetFlags(wc_Sha384* sha384, word32* flags);
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_SHA384 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_SHA512 || WOLFSSL_SHA384 */
|
||||
#endif /* WOLF_CRYPT_SHA512_H */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user