Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private byte[] EnvelopeData(byte[] data, X509Certificate certificate)
- {
- try
- {
- var generator = new CmsEnvelopedDataGenerator();
- generator.AddKeyTransRecipient(certificate);
- var envelopedData = generator.Generate(new CmsProcessableByteArray(data), CmsEnvelopedGenerator.DesEde3Cbc);
- return envelopedData.GetEncoded();
- }
- catch (Exception e)
- {
- Logger.Error(e);
- return null;
- }
- }
- try
- {
- cipherAlgorithm = (CipherAlgorithm)Enums.GetEnumValue(typeof(CipherAlgorithm), algorithmName);
- }
- catch (ArgumentException)
- {
- throw new SecurityUtilityException("Cipher " + algorithm + " not recognised.");
- }
- switch (cipherAlgorithm)
- {
- case CipherAlgorithm.AES:
- blockCipher = new AesFastEngine();
- break;
- case CipherAlgorithm.ARC4:
- streamCipher = new RC4Engine();
- break;
- case CipherAlgorithm.BLOWFISH:
- blockCipher = new BlowfishEngine();
- break;
- case CipherAlgorithm.CAMELLIA:
- blockCipher = new CamelliaEngine();
- break;
- case CipherAlgorithm.CAST5:
- blockCipher = new Cast5Engine();
- break;
- case CipherAlgorithm.CAST6:
- blockCipher = new Cast6Engine();
- break;
- case CipherAlgorithm.DES:
- blockCipher = new DesEngine();
- break;
- case CipherAlgorithm.DESEDE:
- blockCipher = new DesEdeEngine();
- break;
- case CipherAlgorithm.ELGAMAL:
- asymBlockCipher = new ElGamalEngine();
- break;
- case CipherAlgorithm.GOST28147:
- blockCipher = new Gost28147Engine();
- break;
- case CipherAlgorithm.HC128:
- streamCipher = new HC128Engine();
- break;
- case CipherAlgorithm.HC256:
- streamCipher = new HC256Engine();
- break;
- case CipherAlgorithm.IDEA:
- blockCipher = new IdeaEngine();
- break;
- case CipherAlgorithm.NOEKEON:
- blockCipher = new NoekeonEngine();
- break;
- case CipherAlgorithm.PBEWITHSHAAND128BITRC4:
- case CipherAlgorithm.PBEWITHSHAAND40BITRC4:
- streamCipher = new RC4Engine();
- break;
- case CipherAlgorithm.RC2:
- blockCipher = new RC2Engine();
- break;
- case CipherAlgorithm.RC5:
- blockCipher = new RC532Engine();
- break;
- case CipherAlgorithm.RC5_64:
- blockCipher = new RC564Engine();
- break;
- case CipherAlgorithm.RC6:
- blockCipher = new RC6Engine();
- break;
- case CipherAlgorithm.RIJNDAEL:
- blockCipher = new RijndaelEngine();
- break;
- case CipherAlgorithm.RSA:
- asymBlockCipher = new RsaBlindedEngine();
- break;
- case CipherAlgorithm.SALSA20:
- streamCipher = new Salsa20Engine();
- break;
- case CipherAlgorithm.SEED:
- blockCipher = new SeedEngine();
- break;
- case CipherAlgorithm.SERPENT:
- blockCipher = new SerpentEngine();
- break;
- case CipherAlgorithm.SKIPJACK:
- blockCipher = new SkipjackEngine();
- break;
- case CipherAlgorithm.TEA:
- blockCipher = new TeaEngine();
- break;
- case CipherAlgorithm.THREEFISH_256:
- blockCipher = new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256);
- break;
- case CipherAlgorithm.THREEFISH_512:
- blockCipher = new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512);
- break;
- case CipherAlgorithm.THREEFISH_1024:
- blockCipher = new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024);
- break;
- case CipherAlgorithm.TNEPRES:
- blockCipher = new TnepresEngine();
- break;
- case CipherAlgorithm.TWOFISH:
- blockCipher = new TwofishEngine();
- break;
- case CipherAlgorithm.VMPC:
- streamCipher = new VmpcEngine();
- break;
- case CipherAlgorithm.VMPC_KSA3:
- streamCipher = new VmpcKsa3Engine();
- break;
- case CipherAlgorithm.XTEA:
- blockCipher = new XteaEngine();
- break;
- default:
- throw new SecurityUtilityException("Cipher " + algorithm + " not recognised.");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement