package org.spongycastle.openpgp.operator;
import org.spongycastle.bcpg.S2K;
import org.spongycastle.openpgp.PGPException;
public abstract class PBEDataDecryptorFactory
implements PGPDataDecryptorFactory
{
private char[] passPhrase;
private PGPDigestCalculatorProvider calculatorProvider;
protected PBEDataDecryptorFactory(char[] passPhrase, PGPDigestCalculatorProvider calculatorProvider)
{
this.passPhrase = passPhrase;
this.calculatorProvider = calculatorProvider;
}
public byte[] makeKeyFromPassPhrase(int keyAlgorithm, S2K s2k)
throws PGPException
{
return PGPUtil.makeKeyFromPassPhrase(calculatorProvider, keyAlgorithm, s2k, passPhrase);
}
public abstract byte[] recoverSessionData(int keyAlgorithm, byte[] key, byte[] seckKeyData)
throws PGPException;
}