org.spongycastle.jcajce.util.ProviderJcaJceHelper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of prov Show documentation
Show all versions of prov Show documentation
Spongy Castle is a package-rename (org.bouncycastle.* to org.spongycastle.*) of Bouncy Castle
intended for the Android platform. Android unfortunately ships with a stripped-down version of
Bouncy Castle, which prevents easy upgrades - Spongy Castle overcomes this and provides a full,
up-to-date version of the Bouncy Castle cryptographic libs.
The newest version!
package org.spongycastle.jcajce.util;
import java.security.AlgorithmParameterGenerator;
import java.security.AlgorithmParameters;
import java.security.KeyFactory;
import java.security.KeyPairGenerator;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.Provider;
import java.security.SecureRandom;
import java.security.Signature;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import javax.crypto.Cipher;
import javax.crypto.KeyAgreement;
import javax.crypto.KeyGenerator;
import javax.crypto.Mac;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKeyFactory;
/**
* {@link JcaJceHelper} that obtains all algorithms from a specific {@link Provider} instance.
*/
public class ProviderJcaJceHelper
implements JcaJceHelper
{
protected final Provider provider;
public ProviderJcaJceHelper(Provider provider)
{
this.provider = provider;
}
public Cipher createCipher(
String algorithm)
throws NoSuchAlgorithmException, NoSuchPaddingException
{
return Cipher.getInstance(algorithm, provider);
}
public Mac createMac(String algorithm)
throws NoSuchAlgorithmException
{
return Mac.getInstance(algorithm, provider);
}
public KeyAgreement createKeyAgreement(String algorithm)
throws NoSuchAlgorithmException
{
return KeyAgreement.getInstance(algorithm, provider);
}
public AlgorithmParameterGenerator createAlgorithmParameterGenerator(String algorithm)
throws NoSuchAlgorithmException
{
return AlgorithmParameterGenerator.getInstance(algorithm, provider);
}
public AlgorithmParameters createAlgorithmParameters(String algorithm)
throws NoSuchAlgorithmException
{
return AlgorithmParameters.getInstance(algorithm, provider);
}
public KeyGenerator createKeyGenerator(String algorithm)
throws NoSuchAlgorithmException
{
return KeyGenerator.getInstance(algorithm, provider);
}
public KeyFactory createKeyFactory(String algorithm)
throws NoSuchAlgorithmException
{
return KeyFactory.getInstance(algorithm, provider);
}
public SecretKeyFactory createSecretKeyFactory(String algorithm)
throws NoSuchAlgorithmException
{
return SecretKeyFactory.getInstance(algorithm, provider);
}
public KeyPairGenerator createKeyPairGenerator(String algorithm)
throws NoSuchAlgorithmException
{
return KeyPairGenerator.getInstance(algorithm, provider);
}
public MessageDigest createDigest(String algorithm)
throws NoSuchAlgorithmException
{
return MessageDigest.getInstance(algorithm, provider);
}
public Signature createSignature(String algorithm)
throws NoSuchAlgorithmException
{
return Signature.getInstance(algorithm, provider);
}
public CertificateFactory createCertificateFactory(String algorithm)
throws CertificateException
{
return CertificateFactory.getInstance(algorithm, provider);
}
public SecureRandom createSecureRandom(String algorithm)
throws NoSuchAlgorithmException
{
return SecureRandom.getInstance(algorithm, provider);
}
}