Files
CLM/Form4.vb
T
2026-06-18 14:03:08 +02:00

259 lines
11 KiB
VB.net

Imports System.ComponentModel
Imports System.IO
Imports System.Net
Imports System.Security.Cryptography
Imports System.Text
Public Class Form4
Dim etap As Integer = 0
Dim etapseco As Integer = 0
Public clés As String = ""
Dim mdp As String = ""
Public user1234 As String = ""
Public encours As Integer = 1
Public seconnecterserver As Integer = 0
Dim nommsgbox As String = "CLM / configuration du serveur"
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If seconnecterserver = 1 Then
Text = nom & " / configuration du client"
nommsgbox = Text
encours = 1
etapseco = 0
Label1.Text = "Entrer un nom de compte administrateur"
GunaButton1.Text = "Suivant"
Else
Button1.Show()
Text = nom & " / configuration du serveur"
nommsgbox = Text
encours = 1
etap = 0
Label1.Text = "Entrer une clé de chiffrage"
GunaButton1.Text = "Suivant"
TextBox1.MaxLength = 8
TextBox1.UseSystemPasswordChar = True
End If
End Sub
Private Sub GunaButton1_Click(sender As Object, e As EventArgs) Handles GunaButton1.Click
TextBox1.Select()
If etap = 0 And seconnecterserver = 0 Then
If TextBox1.TextLength < 8 Then
MsgBox("Il faut 8 caractères", MsgBoxStyle.Critical, nommsgbox)
Else
clés = TextBox1.Text
TextBox1.Clear()
etap = 1
etap2()
End If
ElseIf etap = 1 Then
If TextBox1.TextLength < 8 Then
MsgBox("Il faut 8 caractères", MsgBoxStyle.Critical, nommsgbox)
Else
If TextBox1.Text = clés Then
Button1.Text = "afficher"
TextBox1.UseSystemPasswordChar = False
Button1.Hide()
etap3()
Else
MsgBox("Les clés de chiffrage correspondent pas", MsgBoxStyle.Critical, nommsgbox)
TextBox1.Clear()
TextBox1.MaxLength = 8
etap = 0
Label1.Text = "Entrer une clé de chiffrage"
GunaButton1.Text = "Suivant"
End If
End If
ElseIf etap = 2 And seconnecterserver = 0 Then
user1234 = TextBox1.Text
TextBox1.Clear()
etap4()
ElseIf etap = 3 And seconnecterserver = 0 Then
mdp = TextBox1.Text
TextBox1.Clear()
etap5()
ElseIf etap = 4 And seconnecterserver = 0 Then
If TextBox1.Text = mdp Then
TextBox1.UseSystemPasswordChar = False
Button1.Hide()
etap6()
Else
MsgBox("Les mots de passe ne correspondent pas", MsgBoxStyle.Critical, nommsgbox)
TextBox1.Clear()
etap = 3
Label1.Text = "Entrer un mot de passe"
GunaButton1.Text = "Suivant"
TextBox1.MaxLength = 999999999
End If
End If
End Sub
Sub etap2()
Label1.Text = "Confirmer la clé de chiffrage"
GunaButton1.Text = "Confirmer"
End Sub
Sub etap3()
Try
Dim texteEnBytes() As Byte = Encoding.UTF8.GetBytes(clés.ToString)
Dim keyBytes() As Byte = Encoding.UTF8.GetBytes(crypCLM.ToString)
Dim Crypto As New DESCryptoServiceProvider()
Crypto.Key = keyBytes
Crypto.IV = keyBytes
Dim Icrypto As ICryptoTransform = Crypto.CreateEncryptor
Dim Resultatbytes() As Byte = Icrypto.TransformFinalBlock(texteEnBytes, 0, texteEnBytes.Length)
Dim passecrypt = Convert.ToBase64String(Resultatbytes)
Dim sw1 As New StreamWriter(dosconnextion & "clecrypt.txt")
sw1.WriteLine(passecrypt)
sw1.Close()
etap = 2
TextBox1.Clear()
Label1.Text = "Entrer un nom de compte"
GunaButton1.Text = "Suivant"
TextBox1.MaxLength = 999999999
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Sub etap4()
Button1.Text = "afficher"
Button1.Show()
TextBox1.UseSystemPasswordChar = True
etap = 3
Label1.Text = "Entrer un mot de passe"
GunaButton1.Text = "Suivant"
TextBox1.MaxLength = 999999999
End Sub
Sub etap5()
etap = 4
Label1.Text = "confirmer le mot de passe"
GunaButton1.Text = "Confirmer"
TextBox1.MaxLength = 999999999
End Sub
Sub etap6()
Try
Dim MaRequete As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create(Form3.ipserveur & "/CLM/utilisateur/" & user1234.ToString & "/"), System.Net.FtpWebRequest)
Dim ftpStream As Stream = Nothing
MaRequete.Credentials = New System.Net.NetworkCredential(Form3.idftp, Form3.passftp)
MaRequete.Method = System.Net.WebRequestMethods.Ftp.MakeDirectory
Dim response As FtpWebResponse = CType(MaRequete.GetResponse, FtpWebResponse)
ftpStream = response.GetResponseStream
ftpStream.Close()
response.Close()
Dim texteEnBytes() As Byte = Encoding.UTF8.GetBytes(mdp)
Dim keyBytes() As Byte = Encoding.UTF8.GetBytes(clés)
Dim Crypto As New DESCryptoServiceProvider()
Crypto.Key = keyBytes
Crypto.IV = keyBytes
Dim Icrypto As ICryptoTransform = Crypto.CreateEncryptor
Dim Resultatbytes() As Byte = Icrypto.TransformFinalBlock(texteEnBytes, 0, texteEnBytes.Length)
Dim passecrypt = Convert.ToBase64String(Resultatbytes)
Dim sw1 As New StreamWriter(dosrepertoire & "mdp.txt")
sw1.WriteLine(passecrypt)
sw1.Close()
Dim sw2 As New StreamWriter(dosrepertoire & "grade.txt")
sw2.WriteLine(2)
sw2.Close()
My.Computer.Network.UploadFile(dosrepertoire & "mdp.txt", Form3.ipserveur & "/CLM/utilisateur/" & user1234 & "/mdp.txt")
My.Computer.Network.UploadFile(dosrepertoire & "grade.txt", Form3.ipserveur & "/CLM/utilisateur/" & user1234 & "/grade.txt.txt")
My.Computer.Network.UploadFile(dosconnextion & "clecrypt.txt", Form3.ipserveur & "/CLM/config/clecrypt.txt")
File.Delete(dosrepertoire & "mdp.txt")
File.Delete(dosrepertoire & "grade.txt")
Dim sw3 As New StreamWriter(dosconnextion & "compte.txt")
sw3.WriteLine(user1234)
sw3.WriteLine(passecrypt)
sw3.Close()
Dim sw4 As New StreamWriter(dosconnextion & "connecter.txt")
sw4.WriteLine(1)
sw4.Close()
Dim texteEnBytes2() As Byte = Encoding.UTF8.GetBytes(Form3.ipserveur)
Dim keyBytes2() As Byte = Encoding.UTF8.GetBytes(clés)
Dim Crypto2 As New DESCryptoServiceProvider()
Crypto2.Key = keyBytes2
Crypto2.IV = keyBytes2
Dim Icrypto2 As ICryptoTransform = Crypto2.CreateEncryptor
Dim Resultatbytes2() As Byte = Icrypto2.TransformFinalBlock(texteEnBytes2, 0, texteEnBytes2.Length)
Dim ipserveurcrypte = Convert.ToBase64String(Resultatbytes2)
Dim texteEnBytes3() As Byte = Encoding.UTF8.GetBytes(Form3.ipsite)
Dim keyBytes3() As Byte = Encoding.UTF8.GetBytes(clés)
Dim Crypto3 As New DESCryptoServiceProvider()
Crypto3.Key = keyBytes3
Crypto3.IV = keyBytes3
Dim Icrypto3 As ICryptoTransform = Crypto3.CreateEncryptor
Dim Resultatbytes3() As Byte = Icrypto3.TransformFinalBlock(texteEnBytes3, 0, texteEnBytes3.Length)
Dim ipsitecrypte = Convert.ToBase64String(Resultatbytes3)
Dim texteEnBytes4() As Byte = Encoding.UTF8.GetBytes(Form3.idftp)
Dim keyBytes4() As Byte = Encoding.UTF8.GetBytes(clés)
Dim Crypto4 As New DESCryptoServiceProvider()
Crypto4.Key = keyBytes4
Crypto4.IV = keyBytes4
Dim Icrypto4 As ICryptoTransform = Crypto4.CreateEncryptor
Dim Resultatbytes4() As Byte = Icrypto4.TransformFinalBlock(texteEnBytes4, 0, texteEnBytes4.Length)
Dim idftpcrypte = Convert.ToBase64String(Resultatbytes4)
Dim texteEnBytes5() As Byte = Encoding.UTF8.GetBytes(Form3.passftp)
Dim keyBytes5() As Byte = Encoding.UTF8.GetBytes(clés)
Dim Crypto5 As New DESCryptoServiceProvider()
Crypto5.Key = keyBytes5
Crypto5.IV = keyBytes5
Dim Icrypto5 As ICryptoTransform = Crypto5.CreateEncryptor
Dim Resultatbytes5() As Byte = Icrypto5.TransformFinalBlock(texteEnBytes5, 0, texteEnBytes5.Length)
Dim passftpcrypte = Convert.ToBase64String(Resultatbytes5)
Dim sw5 As New StreamWriter(dosconnextion & "serveur.txt")
sw5.WriteLine(ipserveurcrypte)
sw5.WriteLine(ipsitecrypte)
sw5.WriteLine(idftpcrypte)
sw5.WriteLine(passftpcrypte)
sw5.Close()
MsgBox("L'administrateur: " & user1234 & " a bien été créer", MsgBoxStyle.Information, nommsgbox)
Dim msg = MsgBox("Voulez-vous configurer le service mail ?", MsgBoxStyle.YesNo, nommsgbox)
If msg = MsgBoxResult.Yes Then
Form5.ShowDialog()
encours = 0
Form3.Close()
Form2.Close()
Form1.Visible = True
Form1.Show()
Form1.ShowInTaskbar = True
Form1.start()
Close()
Else
encours = 0
Form3.Close()
Form2.Close()
Form1.Visible = True
Form1.Show()
Form1.ShowInTaskbar = True
Form1.start()
Close()
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub Form4_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
If encours = 1 Then
e.Cancel = True
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If Button1.Text = "afficher" Then
TextBox1.UseSystemPasswordChar = False
Button1.Text = "cacher"
Else
TextBox1.UseSystemPasswordChar = True
Button1.Text = "afficher"
End If
End Sub
End Class