org.bouncycastle.openssl.bc.BcPEMDecryptorProvider Maven / Gradle / Ivy
package org.bouncycastle.openssl.bc;
import org.bouncycastle.openssl.PEMDecryptor;
import org.bouncycastle.openssl.PEMDecryptorProvider;
import org.bouncycastle.openssl.PEMException;
import org.bouncycastle.openssl.PasswordException;
public class BcPEMDecryptorProvider
implements PEMDecryptorProvider
{
private final char[] password;
public BcPEMDecryptorProvider(char[] password)
{
this.password = password;
}
public PEMDecryptor get(final String dekAlgName)
{
return new PEMDecryptor()
{
public byte[] decrypt(byte[] keyBytes, byte[] iv)
throws PEMException
{
if (password == null)
{
throw new PasswordException("Password is null, but a password is required");
}
return PEMUtilities.crypt(false, keyBytes, password, dekAlgName, iv);
}
};
}
}