Bonjour,
Je souhaiterai faire un decryptage de datas.
Je dispose d'une clé public, d'un exponent et d'une signature.

voici comment se présente mon programme :

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
              RSAParameters RSAKeyInfo = new RSAParameters();
              RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
                            byte[] modulus = new byte[256];
              byte[] exponent = new byte[4];
              byte[] signature = new byte[256];
              string publicKey = "DCD424....";
 
          try
          {
              RSAKeyInfo .Modulus =  (byte[]) SCUtil.ToByteArray(PublicKey);       //  ce ke donne SCUtil.ToByteArray >>> 0xD4 0xDC 0x24 .....                
 RSAKeyInfo .Exponent = (byte[]) SCUtil.ToByteArray("00010001");                                                      // 0x01 0x00 0x01
              signature = (byte[])SCUtil.ToByteArray(dataXml.DataSecurity.SecuritySignature);       // string contenant valeur hexa
 
              RSAKeyInfo.Modulus = modulus;
              RSAKeyInfo.Exponent = exponent;
 
              RSA.ImportParameters(RSAKeyInfo);
 
              byte[] decrypt =  RSA.Decrypt(signature, false);                      //  c'est ici que je recoit le message "clé incorrecte"
 
          }
          catch (CryptographicException e)
          {
              Console.WriteLine(e.ToString());
          }
Ca doit surement provenir du contenu de ma clé qui contient des valeurs hexadécimal.

Voici ce que contient mon fichier xml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
           <PublicKeyValue>
             D4DC249F78996EC47E328B965506CD939ECBBEA4F450CB ......
                     </PublicKeyValue>
Le problème je pense se situe sur le contenu de ma clé.
D'après les exemples que j'ai trouvé sur le net, cette clé devrait etre de la forme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<PublicKeyValue>OEIyQkE5QTM5NjM1ODIwODBEQTQzN</PublicKeyValue>
Mais dans mon cas, celle-ci est codé en Hexa.

Une fois ma fonction executé, je catch un message me disant que ma "clé est incorrecte".

Quelqu'un aurai une piste à me donner, ca fais deja plusieurs jours que je bute sur ce problème.

Merci d'avance pour votre aide.