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
|