internal override KeyParameter GetEncoded(
			string algorithmOid)
		{
			Pkcs5S2ParametersGenerator gen = new Pkcs5S2ParametersGenerator();

			gen.Init(
				PbeParametersGenerator.Pkcs5PasswordToBytes(password),
				salt,
				iterationCount);

			return (KeyParameter) gen.GenerateDerivedParameters(
				algorithmOid,
				CmsEnvelopedHelper.Instance.GetKeySize(algorithmOid));
		}
Esempio n. 2
0
		static PbeParametersGenerator MakePbeGenerator(
			string	type,
			IDigest	digest,
			byte[]	key,
			byte[]	salt,
			int		iterationCount)
		{
			PbeParametersGenerator generator;

			if (type.Equals(Pkcs5S1))
			{
				generator = new Pkcs5S1ParametersGenerator(digest);
			}
			else if (type.Equals(Pkcs5S2))
			{
				generator = new Pkcs5S2ParametersGenerator();
			}
			else if (type.Equals(Pkcs12))
			{
				generator = new Pkcs12ParametersGenerator(digest);
			}
			else if (type.Equals(OpenSsl))
			{
				generator = new OpenSslPbeParametersGenerator();
			}
			else
			{
				throw new ArgumentException("Unknown PBE type: " + type, "type");
			}

			generator.Init(key, salt, iterationCount);
			return generator;
		}