المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : DESCryptoServiceProvider - key size (public key from mykeys.snk not compatible)



C# Programming
05-24-2009, 08:56 AM
hello

Having trouble with DESCryptoServiceProvider - specifically, key size of public key from extracted from "mykeys.snk" (using sn.exe, byte[160]) not compatible with DESCryptoServiceProvider which is expecting byte[24].

Here's how I extract public key from snk file:

FileStream oKeyPairFileStream = File.OpenRead("mykeys.snk");
System.Reflection.StrongNameKeyPair oKeyPairFile = new StrongNameKeyPair(oKeyPairFileStream);
byte[] btPublicKey = oKeyPairFile.PublicKey;
return btPublicKey;


Here's how I do encrypt:

byte[] btGeneratedKey = null;
tDESalg.GenerateKey();
btGeneratedKey = tDESalg.Key;
tDESalg.Key = btKey; // NOTE: Could have used "tDESalg.GenerateKey()" Instead. But I am trying to use public key from snk file instead!

tDESalg.Mode = CipherMode.ECB;
tDESalg.Padding = PaddingMode.PKCS7;

CryptoStream cStream = new CryptoStream(oMemStream,
new TripleDESCryptoServiceProvider().
CreateEncryptor(btKey, tDESalg.IV),
CryptoStreamMode.Write);


I got a feeling you can't use key from snk file to encrypt by way of DESCryptoServiceProvider, am I right?

Thanks

dev