2023-06-21 12:46:23 -04:00

49 lines
1.1 KiB
C#

using System;
using System.Collections;
namespace Org.BouncyCastle.Asn1.Pkcs
{
public class PbeS2Parameters
: Asn1Encodable
{
private readonly KeyDerivationFunc func;
private readonly EncryptionScheme scheme;
public PbeS2Parameters(
Asn1Sequence obj)
{
IEnumerator e = obj.GetEnumerator();
e.MoveNext();
Asn1Sequence funcSeq = (Asn1Sequence) e.Current;
if (funcSeq[0].Equals(PkcsObjectIdentifiers.IdPbkdf2))
{
func = new KeyDerivationFunc(PkcsObjectIdentifiers.IdPbkdf2, funcSeq[1]);
}
else
{
func = new KeyDerivationFunc(funcSeq);
}
e.MoveNext();
scheme = new EncryptionScheme((Asn1Sequence) e.Current);
}
public KeyDerivationFunc KeyDerivationFunc
{
get { return func; }
}
public EncryptionScheme EncryptionScheme
{
get { return scheme; }
}
public override Asn1Object ToAsn1Object()
{
return new DerSequence(func, scheme);
}
}
}