org.bouncycastle.cert.crmf.bc.CRMFHelper Maven / Gradle / Ivy
package org.bouncycastle.cert.crmf.bc;
import java.security.SecureRandom;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.cert.crmf.CRMFException;
import org.bouncycastle.crypto.CipherKeyGenerator;
import org.bouncycastle.crypto.CipherParameters;
import org.bouncycastle.crypto.params.KeyParameter;
import org.bouncycastle.crypto.util.AlgorithmIdentifierFactory;
import org.bouncycastle.crypto.util.CipherFactory;
import org.bouncycastle.crypto.util.CipherKeyGeneratorFactory;
class CRMFHelper
{
CRMFHelper()
{
}
CipherKeyGenerator createKeyGenerator(ASN1ObjectIdentifier algorithm, SecureRandom random)
throws CRMFException
{
try
{
return CipherKeyGeneratorFactory.createKeyGenerator(algorithm, random);
}
catch (IllegalArgumentException e)
{
throw new CRMFException(e.getMessage(), e);
}
}
static Object createContentCipher(boolean forEncryption, CipherParameters encKey, AlgorithmIdentifier encryptionAlgID)
throws CRMFException
{
try
{
return CipherFactory.createContentCipher(forEncryption, encKey, encryptionAlgID);
}
catch (IllegalArgumentException e)
{
throw new CRMFException(e.getMessage(), e);
}
}
AlgorithmIdentifier generateEncryptionAlgID(ASN1ObjectIdentifier encryptionOID, KeyParameter encKey, SecureRandom random)
throws CRMFException
{
try
{
return AlgorithmIdentifierFactory.generateEncryptionAlgID(encryptionOID, encKey.getKey().length * 8, random);
}
catch (IllegalArgumentException e)
{
throw new CRMFException(e.getMessage(), e);
}
}
}