From 16f9ee464b68937f45d009d9c1b0eb9b544a8dee Mon Sep 17 00:00:00 2001 From: Sergio Giro Date: Fri, 11 Dec 2015 18:58:58 +0000 Subject: bouncycastle: Android tree with upstream code for version 1.49 Android tree as of 08e455bd61ddaa02255383e85480b0d9cde6e954 Change-Id: I99dab80b49707f0fdefb67ccd1bcfe765363b5e5 --- .../jcajce/JceAlgorithmIdentifierConverter.java | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java (limited to 'bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java') diff --git a/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java b/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java new file mode 100644 index 0000000..bb9e064 --- /dev/null +++ b/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java @@ -0,0 +1,69 @@ +package org.bouncycastle.cms.jcajce; + + +import java.io.IOException; +import java.security.AlgorithmParameters; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.Provider; +import java.security.SecureRandom; + +import org.bouncycastle.asn1.ASN1Encodable; +import org.bouncycastle.asn1.x509.AlgorithmIdentifier; +import org.bouncycastle.cms.CMSException; + +public class JceAlgorithmIdentifierConverter +{ + private EnvelopedDataHelper helper = new EnvelopedDataHelper(new DefaultJcaJceExtHelper()); + private SecureRandom random; + + public JceAlgorithmIdentifierConverter() + { + } + + public JceAlgorithmIdentifierConverter setProvider(Provider provider) + { + this.helper = new EnvelopedDataHelper(new ProviderJcaJceExtHelper(provider)); + + return this; + } + + public JceAlgorithmIdentifierConverter setProvider(String providerName) + { + this.helper = new EnvelopedDataHelper(new NamedJcaJceExtHelper(providerName)); + + return this; + } + + public AlgorithmParameters getAlgorithmParameters(AlgorithmIdentifier algorithmIdentifier) + throws CMSException + { + ASN1Encodable parameters = algorithmIdentifier.getParameters(); + + if (parameters == null) + { + return null; + } + + try + { + AlgorithmParameters params = helper.createAlgorithmParameters(algorithmIdentifier.getAlgorithm()); + + params.init(parameters.toASN1Primitive().getEncoded(), "ASN.1"); + + return params; + } + catch (NoSuchAlgorithmException e) + { + throw new CMSException("can't find parameters for algorithm", e); + } + catch (IOException e) + { + throw new CMSException("can't parse parameters", e); + } + catch (NoSuchProviderException e) + { + throw new CMSException("can't find provider for algorithm", e); + } + } +} -- cgit v1.2.3 From 80261dd2d1824bb3862e90e77a5412d56ad88b1f Mon Sep 17 00:00:00 2001 From: Sergio Giro Date: Wed, 27 Jan 2016 20:40:41 +0000 Subject: bouncycastle: Android tree with upstream code for version 1.50 Android tree as of c0d8909a6c6a4ac075a9dee7ac1fe6baff34acc0 Change-Id: I8d381554d6edec32aae8ff5bab5d5314f0954440 --- .../bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java') diff --git a/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java b/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java index bb9e064..59928f4 100644 --- a/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java +++ b/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java @@ -1,7 +1,6 @@ package org.bouncycastle.cms.jcajce; -import java.io.IOException; import java.security.AlgorithmParameters; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; @@ -49,7 +48,7 @@ public class JceAlgorithmIdentifierConverter { AlgorithmParameters params = helper.createAlgorithmParameters(algorithmIdentifier.getAlgorithm()); - params.init(parameters.toASN1Primitive().getEncoded(), "ASN.1"); + CMSUtils.loadParameters(params, algorithmIdentifier.getParameters()); return params; } @@ -57,10 +56,6 @@ public class JceAlgorithmIdentifierConverter { throw new CMSException("can't find parameters for algorithm", e); } - catch (IOException e) - { - throw new CMSException("can't parse parameters", e); - } catch (NoSuchProviderException e) { throw new CMSException("can't find provider for algorithm", e); -- cgit v1.2.3