You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.6 KiB
69 lines
1.6 KiB
8 months ago
|
#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
|
||
|
{
|
||
|
/**
|
||
|
* PKCS5 scheme-2 - password converted to bytes using UTF-8.
|
||
|
*/
|
||
|
public class Pkcs5Scheme2Utf8PbeKey
|
||
|
: CmsPbeKey
|
||
|
{
|
||
|
|
||
|
public Pkcs5Scheme2Utf8PbeKey(
|
||
|
string password,
|
||
|
byte[] salt,
|
||
|
int iterationCount)
|
||
|
: this(password.ToCharArray(), salt, iterationCount)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
public Pkcs5Scheme2Utf8PbeKey(
|
||
|
string password,
|
||
|
AlgorithmIdentifier keyDerivationAlgorithm)
|
||
|
: this(password.ToCharArray(), keyDerivationAlgorithm)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public Pkcs5Scheme2Utf8PbeKey(
|
||
|
char[] password,
|
||
|
byte[] salt,
|
||
|
int iterationCount)
|
||
|
: base(password, salt, iterationCount)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public Pkcs5Scheme2Utf8PbeKey(
|
||
|
char[] password,
|
||
|
AlgorithmIdentifier keyDerivationAlgorithm)
|
||
|
: base(password, keyDerivationAlgorithm)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
internal override KeyParameter GetEncoded(
|
||
|
string algorithmOid)
|
||
|
{
|
||
|
Pkcs5S2ParametersGenerator gen = new Pkcs5S2ParametersGenerator();
|
||
|
|
||
|
gen.Init(
|
||
|
PbeParametersGenerator.Pkcs5PasswordToUtf8Bytes(password),
|
||
|
salt,
|
||
|
iterationCount);
|
||
|
|
||
|
return (KeyParameter) gen.GenerateDerivedParameters(
|
||
|
algorithmOid,
|
||
|
CmsEnvelopedHelper.Instance.GetKeySize(algorithmOid));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
#pragma warning restore
|
||
|
#endif
|