Hello,

je suis bloqué sur le problème suivant:

je souhaite chiffrer les données de mon application avant des les uploader sur l'espace de stockage OneDrive.

Le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
                    using (IsolatedStorageFile isStore = IsolatedStorageFile.GetUserStoreForApplication())
                    {
                        this.ProgressBarWorking.Visibility = System.Windows.Visibility.Visible;
                        this.ProgressBarWorking.IsIndeterminate = true;
 
                        AesManaged MyAes = new AesManaged();
                        MyAes.Key = System.Text.Encoding.UTF8.GetBytes(App.AesKey);
                        MyAes.IV = System.Text.Encoding.UTF8.GetBytes(App.AesIv);
 
                        int blockSizeBytes = MyAes.BlockSize / 8;
                        byte[] data = new byte[blockSizeBytes];
                        int bytesRead = 0;
                        int count = 0;
                        int offset = 0;
 
                        foreach (string currentFileName in isStore.GetFileNames("*.*"))
                        {
 
                            #region Cryptage
 
                                IsolatedStorageFileStream ClearedFile = new IsolatedStorageFileStream(currentFileName, FileMode.Open, FileAccess.Read, isStore);
                                IsolatedStorageFileStream CryptedFile = new IsolatedStorageFileStream("Crypted" + currentFileName, FileMode.OpenOrCreate, FileAccess.Write, isStore);
                                CryptedFile.SetLength(0);
 
                                ICryptoTransform AesEncryptor = MyAes.CreateEncryptor();
                                CryptoStream MyCryptoStream = new CryptoStream(CryptedFile, AesEncryptor, CryptoStreamMode.Write);
 
                                using(ClearedFile)
                                {
                                    do
                                    {
                                        count = ClearedFile.Read(data, 0, blockSizeBytes);
                                        offset += count;
                                        MyCryptoStream.Write(data, 0, count);
                                        bytesRead += blockSizeBytes;
                                    }
                                    while (count > 0);
                                    ClearedFile.Close();
                                }
 
                                MyCryptoStream.FlushFinalBlock();
                                MyCryptoStream.Close();
                                CryptedFile.Close();                                
 
                            #endregion
 
                            #region Upload
 
                                //IsolatedStorageFileStream CurrentStream = isStore.OpenFile(currentFileName, FileMode.OpenOrCreate);
                                await MyLiveConnectClient.UploadAsync(App.OneDriveFolderId, currentFileName, CryptedFile, OverwriteOption.Overwrite);                                
 
                            #endregion
 
                        }
LE problème est que j'ai le message d'erreur suivant au moment de l'upload:

Input parameter 'inputStream' is invalid. Stream is not readable.
Parameter name: inputStream
Mais ça me parle pas beaucoup !!!

Merci