49 lines
1.1 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|