C# RSA DOFUS

A

Anonymous

Invité
#1
Bonjours, Bonsoirs
Lorsque je décrypte le "Key" reçus dans "HelloConnectMessage" j'obtient :

Code:
Af//////////ADCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIitMCi34K1SwhPyHm5ViYBIYi
jByfZNVIsH8iY4kzqqH8GOJDpjpNs5IJswhomtEz2cwrvJm3A6YpVvhGMkwvy9Db78gZjLhJoBrZETZxkh
VZGGk+N/lOO1IsChRnXNcQIcj/P89k8s/QuLuvYtAfYsZMxD6u9VqkTfSftGCdoRzPRjup7j5trk0Tgr/d
z+UVsu9nQWMtK4Qkb68Z67ovzWoEOKq/Ni4mv1wmlcatR+WlU8azYCh0nh3wqM/VsxO2q8XsLM9bCkgk1d
78EBtd/6kz80f12mDSl5L8QYWdx1du9/8ozb8YhHZ0FuPZc+SuDgcPFP3QC6cujsqfv3i3cCAwEAAQ==
Ensuite j' encrypt le salt, le nom de comte et le mot de passe avec cette clé mais j'ai cette erreur : " DER length more than 4 bytes: 127 "

Voici ma classe rsa :

Code:
public class RSAManager
    {
        private const string keym = "MIIBUzANBgkqhkiG9w0BAQEFAAOCAUAAMIIBOwKCATIAqpzRrvO3We7EMi9cWYqdfb3rbdinTay+" + 
                                    "hxQ6t3dOiJLY4NITxyeIuy97yZYOojOlXS2SuJ4cCHjCeLCQO1FwOz+nynQWcBWecz2QdbHD2Kz7" + 
                                    "mNLd2qtZyEDO76rd7LaDOxRvgs9DsH9sfnCuKLKbd725xTLc7wRfJzOH9v9rTTYVXssXe7JUpTx8" + 
                                    "nV8yKnTiq3WpzBeZT4C3ZCR18GBBCh3NmSTbze9i2KipgZnOwBvhskVlweuqZ1KNIKsQgipBFuyw" + 
                                    "w68RGNYaAKofMVVio4amrGpCT5MM852jpHsgJJfOUHu6md1CnvdwDPbo/PKQUI0RLb0ezE5gsPma" + 
                                    "s39QBw+DiaibUkk1aCkBxTOFqpIbjfLM2/4qA6GPcWUJxP3vmGoeCTMBLNEiPfLqVm86QzUCAwEA" + 
                                    "AQ==";

        public List<byte> DecryptEncryptedData(string Input, List<byte> Key)
        {
            AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(Convert.FromBase64String(keym));
            byte[] DecryptByte = Decrypt(Key.ToArray(), asymmetricKeyParameter);

            return Encrypt(Encoding.ASCII.GetBytes(Input), DecryptByte).ToList();
        }

        private byte[] Decrypt(byte[] data, AsymmetricKeyParameter key)
        {
            var engine = new RsaEngine();
            engine.Init(false, key);
            var blockSize = engine.GetInputBlockSize();
            return engine.ProcessBlock(data, 0, blockSize);
        }

        private byte[] Encrypt(byte[] data, byte[] key)
        {
            AsymmetricKeyParameter asymmetricKey = PublicKeyFactory.CreateKey(key);
            var engine = new RsaEngine();
            engine.Init(true, asymmetricKey);
            var blockSize = engine.GetInputBlockSize();
            return engine.ProcessBlock(data, 0, blockSize);
        }
    }
J'utilise la DLL "BouncyCastle".
 

Geraff

Administrateur
Membre du personnel
Inscrit
13 Mars 2008
Messages
564
Reactions
0
#2
Re: RSA D.

Bonjour,

C'est quoi la question?
 

Shornaal

Membre Actif
Inscrit
17 Février 2011
Messages
194
Reactions
0
#3
Re: RSA D.

J'imagine que c'est en rapport avec l'erreur : " DER length more than 4 bytes: 127" indiquée dans son message.

Geraff : en effet j'ai lu trop vite :)
 
Haut Bas