52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
 | 
						|
#pragma warning disable
 | 
						|
using System;
 | 
						|
 | 
						|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Pkcs;
 | 
						|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
 | 
						|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto;
 | 
						|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Generators;
 | 
						|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
 | 
						|
 | 
						|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms
 | 
						|
{
 | 
						|
	/// <summary>
 | 
						|
	/// PKCS5 scheme-2 - password converted to bytes assuming ASCII.
 | 
						|
	/// </summary>
 | 
						|
	public class Pkcs5Scheme2PbeKey
 | 
						|
		: CmsPbeKey
 | 
						|
	{
 | 
						|
		public Pkcs5Scheme2PbeKey(
 | 
						|
			char[]	password,
 | 
						|
			byte[]	salt,
 | 
						|
			int		iterationCount)
 | 
						|
			: base(password, salt, iterationCount)
 | 
						|
		{
 | 
						|
		}
 | 
						|
 | 
						|
		public Pkcs5Scheme2PbeKey(
 | 
						|
			char[]				password,
 | 
						|
			AlgorithmIdentifier keyDerivationAlgorithm)
 | 
						|
			: base(password, keyDerivationAlgorithm)
 | 
						|
		{
 | 
						|
		}
 | 
						|
 | 
						|
		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));
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
#pragma warning restore
 | 
						|
#endif
 |