Merge remote-tracking branch 'origin/main'

This commit is contained in:
Lukian 2025-01-25 16:15:23 +01:00
commit c28b372c79
20 changed files with 282 additions and 175 deletions

View file

@ -1,25 +1,30 @@
from flask import *
import ssl
import requests
import rsa
import urllib3
data = 'Hello World !'
# Open public key of the server
with open("ssl/server_public.pem","r") as f_public:
pubi_k = rsa.PublicKey.load_pkcs1(f_public.read())
with open("../server/ssl/public.key", "rb") as public_serv_file:
public_serv = public_serv_file.read()
message = "Hello World !".encode()
# Encrypt the message with the public key of the server
encrypt_message= rsa.encrypt(message,pubi_k)
with open("ssl/id_rsa", "rb") as private_key_file:
private_key = private_key_file.read()
# Delete error in the terminal
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
public_key_serv = rsa.PublicKey.load_pkcs1(public_serv)
private_key_client = rsa.PrivateKey.load_pkcs1(private_key)
# Send the request
response = requests.post('https://localhost:5000/data',data=encrypt_message, verify="ssl/CA.crt")
print(response.json())
crypt = rsa.encrypt(data.encode(), public_key_serv)
'''
Generation clef
(public_key, private_key) = rsa.newkeys(4096)
# Afficher le message original (pour vérification)
print(data)
with open("ssl/public.pem", "wb") as pub_file:
pub_file.write(public_key.save_pkcs1("PEM"))
response = requests.post('https://localhost:5000', data={'message': crypt, 'signature': signature}, verify=False)
#print(response.text)
with open("ssl/private.pem", "wb") as priv_file:
priv_file.write(private_key.save_pkcs1("PEM"))
'''

View file

@ -1,3 +1,3 @@
flask==3.1.0
pyopenssl==25.0.0
requests==2.26.0
requests==2.26.0
urllib3

18
RSA/client/ssl/CA.crt Normal file
View file

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC1DCCAbygAwIBAgIUTfOwgzv5ZTp7nUfMnJ79src6Tn8wDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTI1MDEyNTAwMDUwMloXDTI2MDEy
NTAwMDUwMlowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEApcL8pJNhaFcZekJwqlY0by5p8j74N57R9zZdpj0YcyqZ
jVS2Crq9yRaCMBNTF4yi9miaVQhr6b8id1HyDwkqwXagPVsCtvUz7ZFa9YOQSPpS
EeRW2hMOe1vUce3eKS5gIip4C+pCYlHoGPGY07rxAp9KNCSBgFI9IFEjah12OKg8
ivLgEQehuwXzbaxHY717Z3m5pkfJxk5lVVuL24o4oPGD05Kw+tNAWD3+agnx+U4F
q0Rew/WR7qLQXgO3j2QngRx9fZFOHTY8lsnfu5UXLJC1rFWjrlR2u0FW0obIlrGe
uAAElMhcHf606ZVLotqMbExEqpB3AM3d38nmuW9MXwIDAQABox4wHDAaBgNVHREE
EzARgglsb2NhbGhvc3SHBH8AAAEwDQYJKoZIhvcNAQELBQADggEBAFUCwH92Xw7X
NxHql8GyExotGro1EZrOP+x9rNk2EycaxTDtF0G5Wdvkzri8Ngmh1L++obl4qa1d
7gek93Dfgj2/b+/DURIh3mcsXCCOedOgTuZK8GukYO7c8tVTSfZFISPvrPwys/IM
mXJyNb8CK/inX+GsbLFwJELtc6As7dTpFGOZNFZ9ijBkNz+UBV/LGkV8MV5Mh36W
xKqBCEwiOjw8Hd9rvN/Bp3tW/ouLohCj53T4k7ric4XlElGBY0ljWDd0ts7J76F0
WJA2FCmEd77R37TgbJp9y/ZSEYqMl0l2tKZIbJ8Upa96/Wosr2Nk25Z4ggGCSSkF
0Q5kp5LkHV4=
-----END CERTIFICATE-----

View file

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxCQfJ2qoYRU+0
hZ8sNeaGmUNl0A5m48+z2LgRA4XTkeurF83YuJl1zKJhpGjlCMl+jmf069lDCL0r
xthxtx5WlUaXDPOKRxYuiC7g4qjD92aHT8oloEhvk+PEJgn/9ZsqhB0uO7mpkGuQ
0lLFJ5zaUrIPNuGeeAj8nuDQpNrtGHGfBdXWfaPVdnhFf5uwsOPkAHssw8Ygqay1
0fnBOPq1luJNJQW2aGrXxYuBnd7Uujt8AI/OzBB73+zWXpxQKmqGS+bg93W07Lg2
11K9UB9vnwO0NejM1UZPKJ6T7N7CUvrkD2DZZdtPz020mcGF13lK2efiuTAlsKMu
4u2xWZX5AgMBAAECggEAEU8duNRX/x7VEoRiB145wifoBA4ElSC++l7nwu9s5+kD
eWtOurAfKPpaAgv4yYlDZ3agSWe/NU5Rw0miI0l704wC0S/4pn4ZeBvj4XmnyzPm
4rdKv2+yxV4DTfaeJwLU1KJYLAtg4BL5Frl0UvHIOecN9m4vlGE4wmJSVB6vh7DL
NBjRcXzeUWfjuieg9HvSJpnt7HcXD8kWWa0euXC0Yxd0dAZ90jguvm+3exq3KySX
tFQtnzKftkiTQMLTQE3wZvsDp2hCpeVX1blS9ubai4JApG4oMa5MOVYzQgJya2vm
IdqRW8lYeIW6qP4HaJ3ZU83umi+Wb62pDEiW38OnlQKBgQDwPCUAkrQeXj7gcwhG
78UVvOD2FHEaGz4AWrnPAJWwRcwLcMaV606IjOha/52tSzdsnrei+jdHMI/w3iWe
ZLvNWjjd9IaDaB/iZtjktnXe3kNaL3XpORuxiDi4pIrgtuKlVv9E5b9Bdo1YCn0b
aOKgCOGwP5WqrdtyFxpEsDtwcwKBgQC8pyfVRBFWH/CozM4rWGpO8RCOjEN0rdpV
1DXjgj36oj6xKrDMKTOZ7X2j/W6EYH1aoikPAEdt4ywgMVnfOzISUKdkSmYTyXbo
rjbyqKp91wQbkWVttHdN6qaTWHtl6YUgi17LCNZVYD95rXC7a/izGps7ggYvWOft
S96Iye+g4wKBgQC8yLbXPXH4D13f6eXOQOuiynwKRUQgHNpbUvCDQFVhYWgYcXZN
J83eNsT9hbQ2E06puAxdMb4w3nOu+BOd5lFC7ayUl20BZNjxhJrbGJuGGSnafENv
lGYz2/We/Ab60h1Hixcs4FKsseofDpcD7CdzVadtZnpJ1zgE7yzAX7FGCwKBgQCm
QfZD6FoS+dEhImWsI56E9cRurESiprjdnUjkuRqgMK5pesMXGlSEmp14kdf9SAAR
iQoAU3Gf8W4o7PVUW5n0NCpho4O0en+V7js0vdqLTpwrI4ctGLdv7pVhE8Ckfxm5
Jbqj2qTx1wH53RWVx0EFrzQRTLTgs0yqf4ueJ8FMmwKBgEi99cX3XyfToiQWU3X9
yLRYfV85i9UCBmFRb1EMtHhTZCBKpo5GrpvdnNN5AQpl4iXYvKGEapX8TXXELwC9
M+u9eqDEb+l5H2X3dWeDx782yDr1SvkSnfdLBXaSWH1mqWaN74bv6b1+rsUL+rIw
7Vb74+c88t6HdN644dR0UvJY
-----END PRIVATE KEY-----

View file

@ -1,9 +0,0 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsQkHydqqGEVPtIWfLDXm
hplDZdAOZuPPs9i4EQOF05HrqxfN2LiZdcyiYaRo5QjJfo5n9OvZQwi9K8bYcbce
VpVGlwzzikcWLogu4OKow/dmh0/KJaBIb5PjxCYJ//WbKoQdLju5qZBrkNJSxSec
2lKyDzbhnngI/J7g0KTa7RhxnwXV1n2j1XZ4RX+bsLDj5AB7LMPGIKmstdH5wTj6
tZbiTSUFtmhq18WLgZ3e1Lo7fACPzswQe9/s1l6cUCpqhkvm4Pd1tOy4NtdSvVAf
b58DtDXozNVGTyiek+zewlL65A9g2WXbT89NtJnBhdd5Stnn4rkwJbCjLuLtsVmV
+QIDAQAB
-----END PUBLIC KEY-----

View file

@ -0,0 +1,52 @@
-----BEGIN RSA PRIVATE KEY-----
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
B4WoJHIRzaeYz5+A
-----END RSA PRIVATE KEY-----

13
RSA/client/ssl/public.pem Normal file
View file

@ -0,0 +1,13 @@
-----BEGIN RSA PUBLIC KEY-----
MIICCgKCAgEAhdb+vNDimutzag4JmxFP4Cw5w86ffkBQiys0bo4fV0IWNbTwcP/Z
/E4HYYaju3P8hom/xUojgy64ZJpMbDYbW/pqOkUWNdDcRIm3oBftwRVuUtHGZe8+
QQnZTO6+G90zkHbaQT2P1M5AahKvp3PNazlXrZEcRf8mtFbqKnKFv4oEIUKpS+AL
OB3o7smAawSfF6vktL9umpH/iCljWV4WsWusC72K25kuV0mS25Z720LNACHWraK8
0sGx2DO8HyOpbD3Ca3EHt3bPeajTuv8MWD2m7XcGVURv64ouvv91RjOtfxLLoH54
vTIP7sSBTGijbWsPLN8fHiAdah2tIXDQGsHuwPcM16IguxSxfBvbJc5TlytCIjnt
RtU4HXO8wE0np9or5lWtzlBGGmolEAlhHk/UZutU6d89JyRlIxa8oVpPHGiRaJbd
+E4JGkC9I53WTTF3ejPZWzqVX1YFU16NBkTZ885dBySZwK1i67M7f9WnQWByGzaR
wzmmIoJ0DHHztWtg8OpnfU5O3Joly9fEGFOxbiUN3Yhez7US81/byizRnhJBokLa
/nW6kF/66RjZpgRqzdQoogSpDFH5hNOx3Z+bYMzX1nPTmj8fVWZBbyUZj6udn124
+xF5CaPWzSFErPPGHZb/9BjqeZoJ9A1CS6Ug26orwYm0bw+SZ0qC03sCAwEAAQ==
-----END RSA PUBLIC KEY-----

View file

@ -0,0 +1,13 @@
-----BEGIN RSA PUBLIC KEY-----
MIICCgKCAgEAlp0tKMC3NCR2xnk7MBtxp41xReUcQPai2Y4FiVJzTeyyJZ16Er+l
m0LkQ2RM1z/HvyLlRT8QB0t8UV74HWtdyl/QohCGv5xJkO7o4yLBeBDTavy7e90C
hCdWt3Nm/nRVg07EPmTDuu3dxu7ys+dfWX8Um3ZcwWn93VcuCIa/37Lmc+AzrlwL
0IrQ7VSbxnnCJrWgE9h87tmktIUgmq1iG+kfOvf1fA5uhMXjgwTjJ3Kl9x8Z6rgh
M9Ue7irXADXd1DFyj6KB9D+nkZrCwaTIl8o5gtGGEWNob7A3vhkp2Jfap7N96vKn
AxaYhCiabf3qQsOYUpd1/1BO2fCAg7muwP7Bi1SWiYDFlfrMTg+jsuMbz8gGhhEP
NtwESRY9K3h1uRD/dhFt63rD5Ccge7PkkJtwvRo9sww+Pb4vquRrxhz/r9AomiTv
qMAIHDAIdQlzwuB6RsLfSgVG2tP38vfsMILpc5VzXReiDf3GwXZAi6d076ypQoKr
X0auhi3jpOayWdz+0sjOtYV3rjYCikMAWe0qkuYqKly8i4yd149hth9cZue2u2on
i30RC2NBUbO0UDiPwoYFHKfZ34FYnl1615tQEIwefhJwjgZ+9aYE/ss/7uzgWl3v
5d9cAJmghyi3pRKmyD9wjluBR+dFQy5vrv3PxhBmX2K8ZmeAlLgr1IkCAwEAAQ==
-----END RSA PUBLIC KEY-----