diff options
Diffstat (limited to 'bcpkix/src/main/java/org/bouncycastle/cms/jcajce/CMSUtils.java')
-rw-r--r-- | bcpkix/src/main/java/org/bouncycastle/cms/jcajce/CMSUtils.java | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/CMSUtils.java b/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/CMSUtils.java index bd36b73..104b16f 100644 --- a/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/CMSUtils.java +++ b/bcpkix/src/main/java/org/bouncycastle/cms/jcajce/CMSUtils.java @@ -1,14 +1,19 @@ package org.bouncycastle.cms.jcajce; +import java.io.IOException; +import java.security.AlgorithmParameters; import java.security.Provider; import java.security.cert.CertificateEncodingException; import java.security.cert.X509Certificate; +import org.bouncycastle.asn1.ASN1Encodable; import org.bouncycastle.asn1.ASN1OctetString; import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; import org.bouncycastle.asn1.x509.Certificate; +import org.bouncycastle.asn1.x509.Extension; import org.bouncycastle.asn1.x509.TBSCertificateStructure; -import org.bouncycastle.asn1.x509.X509Extension; +import org.bouncycastle.cms.CMSException; +import org.bouncycastle.jcajce.JcaJceUtils; class CMSUtils { @@ -30,7 +35,7 @@ class CMSUtils static byte[] getSubjectKeyId(X509Certificate cert) { - byte[] ext = cert.getExtensionValue(X509Extension.subjectKeyIdentifier.getId()); + byte[] ext = cert.getExtensionValue(Extension.subjectKeyIdentifier.getId()); if (ext != null) { @@ -66,4 +71,29 @@ class CMSUtils } } + static ASN1Encodable extractParameters(AlgorithmParameters params) + throws CMSException + { + try + { + return JcaJceUtils.extractParameters(params); + } + catch (IOException e) + { + throw new CMSException("cannot extract parameters: " + e.getMessage(), e); + } + } + + static void loadParameters(AlgorithmParameters params, ASN1Encodable sParams) + throws CMSException + { + try + { + JcaJceUtils.loadParameters(params, sParams); + } + catch (IOException e) + { + throw new CMSException("error encoding algorithm parameters.", e); + } + } }
\ No newline at end of file |