diff --git a/crypto/src/asn1/cms/Attribute.cs b/crypto/src/asn1/cms/Attribute.cs
index 69ac44148..d42aefccb 100644
--- a/crypto/src/asn1/cms/Attribute.cs
+++ b/crypto/src/asn1/cms/Attribute.cs
@@ -1,33 +1,25 @@
-using System;
-
-using Org.BouncyCastle.Utilities;
-
namespace Org.BouncyCastle.Asn1.Cms
{
public class Attribute
: Asn1Encodable
{
- private DerObjectIdentifier attrType;
- private Asn1Set attrValues;
-
- /**
- * return an Attribute object from the given object.
- *
- * @param o the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static Attribute GetInstance(
- object obj)
+ public static Attribute GetInstance(object obj)
{
- if (obj == null || obj is Attribute)
- return (Attribute) obj;
-
- if (obj is Asn1Sequence)
- return new Attribute((Asn1Sequence) obj);
+ if (obj == null)
+ return null;
+ if (obj is Attribute attribute)
+ return attribute;
+ return new Attribute(Asn1Sequence.GetInstance(obj));
+ }
- throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj");
+ public static Attribute GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new Attribute(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
+ private DerObjectIdentifier attrType;
+ private Asn1Set attrValues;
+
public Attribute(
Asn1Sequence seq)
{
diff --git a/crypto/src/asn1/cms/Attributes.cs b/crypto/src/asn1/cms/Attributes.cs
index 010684158..6e3691870 100644
--- a/crypto/src/asn1/cms/Attributes.cs
+++ b/crypto/src/asn1/cms/Attributes.cs
@@ -1,5 +1,3 @@
-using System;
-
namespace Org.BouncyCastle.Asn1.Cms
{
public class Attributes
@@ -16,7 +14,7 @@ namespace Org.BouncyCastle.Asn1.Cms
public static Attributes GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Set.GetInstance(taggedObject, declaredExplicit));
+ return new Attributes(Asn1Set.GetInstance(taggedObject, declaredExplicit));
}
private readonly Asn1Set m_attributes;
diff --git a/crypto/src/asn1/cms/AuthEnvelopedData.cs b/crypto/src/asn1/cms/AuthEnvelopedData.cs
index 8f980e6ec..bbcde8180 100644
--- a/crypto/src/asn1/cms/AuthEnvelopedData.cs
+++ b/crypto/src/asn1/cms/AuthEnvelopedData.cs
@@ -1,13 +1,25 @@
using System;
-using Org.BouncyCastle.Utilities;
-
namespace Org.BouncyCastle.Asn1.Cms
{
- public class AuthEnvelopedData
+ public class AuthEnvelopedData
: Asn1Encodable
{
- private DerInteger version;
+ public static AuthEnvelopedData GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is AuthEnvelopedData authEnvelopedData)
+ return authEnvelopedData;
+ return new AuthEnvelopedData(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static AuthEnvelopedData GetInstance(Asn1TaggedObject obj, bool isExplicit)
+ {
+ return new AuthEnvelopedData(Asn1Sequence.GetInstance(obj, isExplicit));
+ }
+
+ private DerInteger version;
private OriginatorInfo originatorInfo;
private Asn1Set recipientInfos;
private EncryptedContentInfo authEncryptedContentInfo;
@@ -100,41 +112,7 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- /**
- * return an AuthEnvelopedData object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param isExplicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @throws ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static AuthEnvelopedData GetInstance(
- Asn1TaggedObject obj,
- bool isExplicit)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
- }
-
- /**
- * return an AuthEnvelopedData object from the given object.
- *
- * @param obj the object we want converted.
- * @throws ArgumentException if the object cannot be converted.
- */
- public static AuthEnvelopedData GetInstance(
- object obj)
- {
- if (obj == null || obj is AuthEnvelopedData)
- return (AuthEnvelopedData)obj;
-
- if (obj is Asn1Sequence)
- return new AuthEnvelopedData((Asn1Sequence)obj);
-
- throw new ArgumentException("Invalid AuthEnvelopedData: " + Platform.GetTypeName(obj));
- }
-
- public DerInteger Version
+ public DerInteger Version
{
get { return version; }
}
diff --git a/crypto/src/asn1/cms/AuthenticatedData.cs b/crypto/src/asn1/cms/AuthenticatedData.cs
index 709617063..47db0fa16 100644
--- a/crypto/src/asn1/cms/AuthenticatedData.cs
+++ b/crypto/src/asn1/cms/AuthenticatedData.cs
@@ -1,14 +1,27 @@
using System;
using Org.BouncyCastle.Asn1.X509;
-using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cms
{
- public class AuthenticatedData
+ public class AuthenticatedData
: Asn1Encodable
{
- private DerInteger version;
+ public static AuthenticatedData GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is AuthenticatedData authenticatedData)
+ return authenticatedData;
+ return new AuthenticatedData(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static AuthenticatedData GetInstance(Asn1TaggedObject obj, bool isExplicit)
+ {
+ return new AuthenticatedData(Asn1Sequence.GetInstance(obj, isExplicit));
+ }
+
+ private DerInteger version;
private OriginatorInfo originatorInfo;
private Asn1Set recipientInfos;
private AlgorithmIdentifier macAlgorithm;
@@ -88,45 +101,7 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- /**
- * return an AuthenticatedData object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param isExplicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @throws ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static AuthenticatedData GetInstance(
- Asn1TaggedObject obj,
- bool isExplicit)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
- }
-
- /**
- * return an AuthenticatedData object from the given object.
- *
- * @param obj the object we want converted.
- * @throws ArgumentException if the object cannot be converted.
- */
- public static AuthenticatedData GetInstance(
- object obj)
- {
- if (obj == null || obj is AuthenticatedData)
- {
- return (AuthenticatedData)obj;
- }
-
- if (obj is Asn1Sequence)
- {
- return new AuthenticatedData((Asn1Sequence)obj);
- }
-
- throw new ArgumentException("Invalid AuthenticatedData: " + Platform.GetTypeName(obj));
- }
-
- public DerInteger Version
+ public DerInteger Version
{
get { return version; }
}
diff --git a/crypto/src/asn1/cms/CcmParameters.cs b/crypto/src/asn1/cms/CcmParameters.cs
index c9588adca..bd725721b 100644
--- a/crypto/src/asn1/cms/CcmParameters.cs
+++ b/crypto/src/asn1/cms/CcmParameters.cs
@@ -9,9 +9,6 @@ namespace Org.BouncyCastle.Asn1.Cms
{
private const int DefaultIcvLen = 12;
- private readonly byte[] m_nonce;
- private readonly int m_icvLen;
-
public static CcmParameters GetInstance(object obj)
{
if (obj == null)
@@ -23,9 +20,12 @@ namespace Org.BouncyCastle.Asn1.Cms
public static CcmParameters GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new CcmParameters(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
+ private readonly byte[] m_nonce;
+ private readonly int m_icvLen;
+
private CcmParameters(Asn1Sequence seq)
{
int count = seq.Count;
diff --git a/crypto/src/asn1/cms/CmsAlgorithmProtection.cs b/crypto/src/asn1/cms/CmsAlgorithmProtection.cs
index 9d21e53ff..cb7a23f84 100644
--- a/crypto/src/asn1/cms/CmsAlgorithmProtection.cs
+++ b/crypto/src/asn1/cms/CmsAlgorithmProtection.cs
@@ -23,6 +23,20 @@ namespace Org.BouncyCastle.Asn1.Cms
public class CmsAlgorithmProtection
: Asn1Encodable
{
+ public static CmsAlgorithmProtection GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is CmsAlgorithmProtection cmsAlgorithmProtection)
+ return cmsAlgorithmProtection;
+ return new CmsAlgorithmProtection(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static CmsAlgorithmProtection GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new CmsAlgorithmProtection(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
+
public static readonly int Signature = 1;
public static readonly int Mac = 2;
@@ -78,15 +92,6 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- public static CmsAlgorithmProtection GetInstance(object obj)
- {
- if (obj == null)
- return null;
- if (obj is CmsAlgorithmProtection cmsAlgorithmProtection)
- return cmsAlgorithmProtection;
- return new CmsAlgorithmProtection(Asn1Sequence.GetInstance(obj));
- }
-
public AlgorithmIdentifier DigestAlgorithm => digestAlgorithm;
public AlgorithmIdentifier MacAlgorithm => macAlgorithm;
diff --git a/crypto/src/asn1/cms/CompressedData.cs b/crypto/src/asn1/cms/CompressedData.cs
index 154ed35c0..e6ca41687 100644
--- a/crypto/src/asn1/cms/CompressedData.cs
+++ b/crypto/src/asn1/cms/CompressedData.cs
@@ -1,7 +1,4 @@
-using System;
-
using Org.BouncyCastle.Asn1.X509;
-using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cms
{
@@ -18,6 +15,20 @@ namespace Org.BouncyCastle.Asn1.Cms
public class CompressedData
: Asn1Encodable
{
+ public static CompressedData GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is CompressedData compressedData)
+ return compressedData;
+ return new CompressedData(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static CompressedData GetInstance(Asn1TaggedObject ato, bool explicitly)
+ {
+ return new CompressedData(Asn1Sequence.GetInstance(ato, explicitly));
+ }
+
private DerInteger version;
private AlgorithmIdentifier compressionAlgorithm;
private ContentInfo encapContentInfo;
@@ -39,41 +50,7 @@ namespace Org.BouncyCastle.Asn1.Cms
this.encapContentInfo = ContentInfo.GetInstance(seq[2]);
}
- /**
- * return a CompressedData object from a tagged object.
- *
- * @param ato the tagged object holding the object we want.
- * @param explicitly true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static CompressedData GetInstance(
- Asn1TaggedObject ato,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(ato, explicitly));
- }
-
- /**
- * return a CompressedData object from the given object.
- *
- * @param _obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static CompressedData GetInstance(
- object obj)
- {
- if (obj == null || obj is CompressedData)
- return (CompressedData)obj;
-
- if (obj is Asn1Sequence)
- return new CompressedData((Asn1Sequence) obj);
-
- throw new ArgumentException("Invalid CompressedData: " + Platform.GetTypeName(obj));
- }
-
- public DerInteger Version
+ public DerInteger Version
{
get { return version; }
}
diff --git a/crypto/src/asn1/cms/ContentInfo.cs b/crypto/src/asn1/cms/ContentInfo.cs
index c8f9fc65b..952884901 100644
--- a/crypto/src/asn1/cms/ContentInfo.cs
+++ b/crypto/src/asn1/cms/ContentInfo.cs
@@ -1,32 +1,27 @@
using System;
-using Org.BouncyCastle.Utilities;
-
namespace Org.BouncyCastle.Asn1.Cms
{
public class ContentInfo
: Asn1Encodable
{
- private readonly DerObjectIdentifier contentType;
- private readonly Asn1Encodable content;
-
- public static ContentInfo GetInstance(
- object obj)
+ public static ContentInfo GetInstance(object obj)
{
- if (obj == null || obj is ContentInfo)
- return (ContentInfo) obj;
-
- if (obj is Asn1Sequence)
- return new ContentInfo((Asn1Sequence) obj);
-
- throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj));
+ if (obj == null)
+ return null;
+ if (obj is ContentInfo contentInfo)
+ return contentInfo;
+ return new ContentInfo(Asn1Sequence.GetInstance(obj));
}
public static ContentInfo GetInstance(Asn1TaggedObject obj, bool isExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
+ return new ContentInfo(Asn1Sequence.GetInstance(obj, isExplicit));
}
+ private readonly DerObjectIdentifier contentType;
+ private readonly Asn1Encodable content;
+
private ContentInfo(
Asn1Sequence seq)
{
diff --git a/crypto/src/asn1/cms/EncryptedContentInfo.cs b/crypto/src/asn1/cms/EncryptedContentInfo.cs
index 999f2a01e..2d4a744a3 100644
--- a/crypto/src/asn1/cms/EncryptedContentInfo.cs
+++ b/crypto/src/asn1/cms/EncryptedContentInfo.cs
@@ -1,13 +1,24 @@
-using System;
-
using Org.BouncyCastle.Asn1.X509;
-using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cms
{
public class EncryptedContentInfo
: Asn1Encodable
{
+ public static EncryptedContentInfo GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is EncryptedContentInfo encryptedContentInfo)
+ return encryptedContentInfo;
+ return new EncryptedContentInfo(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static EncryptedContentInfo GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new EncryptedContentInfo(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
+
private DerObjectIdentifier contentType;
private AlgorithmIdentifier contentEncryptionAlgorithm;
private Asn1OctetString encryptedContent;
@@ -35,24 +46,6 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- /**
- * return an EncryptedContentInfo object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static EncryptedContentInfo GetInstance(
- object obj)
- {
- if (obj == null || obj is EncryptedContentInfo)
- return (EncryptedContentInfo)obj;
-
- if (obj is Asn1Sequence)
- return new EncryptedContentInfo((Asn1Sequence)obj);
-
- throw new ArgumentException("Invalid EncryptedContentInfo: " + Platform.GetTypeName(obj));
- }
-
public DerObjectIdentifier ContentType
{
get { return contentType; }
diff --git a/crypto/src/asn1/cms/EncryptedData.cs b/crypto/src/asn1/cms/EncryptedData.cs
index b8492d14b..a79f8119b 100644
--- a/crypto/src/asn1/cms/EncryptedData.cs
+++ b/crypto/src/asn1/cms/EncryptedData.cs
@@ -1,27 +1,27 @@
using System;
-using Org.BouncyCastle.Utilities;
-
namespace Org.BouncyCastle.Asn1.Cms
{
- public class EncryptedData
+ public class EncryptedData
: Asn1Encodable
{
- private readonly DerInteger version;
- private readonly EncryptedContentInfo encryptedContentInfo;
- private readonly Asn1Set unprotectedAttrs;
-
- public static EncryptedData GetInstance(
- object obj)
+ public static EncryptedData GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is EncryptedData encryptedData)
+ return encryptedData;
+ return new EncryptedData(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static EncryptedData GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- if (obj is EncryptedData)
- return (EncryptedData) obj;
+ return new EncryptedData(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
- if (obj is Asn1Sequence)
- return new EncryptedData((Asn1Sequence) obj);
-
- throw new ArgumentException("Invalid EncryptedData: " + Platform.GetTypeName(obj));
- }
+ private readonly DerInteger version;
+ private readonly EncryptedContentInfo encryptedContentInfo;
+ private readonly Asn1Set unprotectedAttrs;
public EncryptedData(
EncryptedContentInfo encInfo)
diff --git a/crypto/src/asn1/cms/EnvelopedData.cs b/crypto/src/asn1/cms/EnvelopedData.cs
index 85216a2e8..1b88d7791 100644
--- a/crypto/src/asn1/cms/EnvelopedData.cs
+++ b/crypto/src/asn1/cms/EnvelopedData.cs
@@ -1,10 +1,22 @@
-using System;
-
namespace Org.BouncyCastle.Asn1.Cms
{
public class EnvelopedData
: Asn1Encodable
{
+ public static EnvelopedData GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is EnvelopedData envelopedData)
+ return envelopedData;
+ return new EnvelopedData(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static EnvelopedData GetInstance(Asn1TaggedObject obj, bool explicitly)
+ {
+ return new EnvelopedData(Asn1Sequence.GetInstance(obj, explicitly));
+ }
+
private DerInteger version;
private OriginatorInfo originatorInfo;
private Asn1Set recipientInfos;
@@ -60,38 +72,6 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- /**
- * return an EnvelopedData object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param explicitly true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static EnvelopedData GetInstance(
- Asn1TaggedObject obj,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
- }
-
- /**
- * return an EnvelopedData object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static EnvelopedData GetInstance(
- object obj)
- {
- if (obj is EnvelopedData)
- return (EnvelopedData)obj;
- if (obj == null)
- return null;
- return new EnvelopedData(Asn1Sequence.GetInstance(obj));
- }
-
public DerInteger Version
{
get { return version; }
diff --git a/crypto/src/asn1/cms/GcmParameters.cs b/crypto/src/asn1/cms/GcmParameters.cs
index bc86d27fa..06b4b88ca 100644
--- a/crypto/src/asn1/cms/GcmParameters.cs
+++ b/crypto/src/asn1/cms/GcmParameters.cs
@@ -9,9 +9,6 @@ namespace Org.BouncyCastle.Asn1.Cms
{
private const int DefaultIcvLen = 12;
- private readonly byte[] m_nonce;
- private readonly int m_icvLen;
-
public static GcmParameters GetInstance(object obj)
{
if (obj == null)
@@ -23,9 +20,12 @@ namespace Org.BouncyCastle.Asn1.Cms
public static GcmParameters GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- return GetInstance(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ return new GcmParameters(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
+ private readonly byte[] m_nonce;
+ private readonly int m_icvLen;
+
private GcmParameters(Asn1Sequence seq)
{
int count = seq.Count;
diff --git a/crypto/src/asn1/cms/IssuerAndSerialNumber.cs b/crypto/src/asn1/cms/IssuerAndSerialNumber.cs
index 8e31eb0e4..dcd489336 100644
--- a/crypto/src/asn1/cms/IssuerAndSerialNumber.cs
+++ b/crypto/src/asn1/cms/IssuerAndSerialNumber.cs
@@ -1,5 +1,3 @@
-using System;
-
using Org.BouncyCastle.Asn1.X509;
using Org.BouncyCastle.Math;
@@ -8,54 +6,51 @@ namespace Org.BouncyCastle.Asn1.Cms
public class IssuerAndSerialNumber
: Asn1Encodable
{
- private X509Name name;
- private DerInteger serialNumber;
-
public static IssuerAndSerialNumber GetInstance(object obj)
{
if (obj == null)
return null;
- IssuerAndSerialNumber existing = obj as IssuerAndSerialNumber;
- if (existing != null)
- return existing;
+ if (obj is IssuerAndSerialNumber issuerAndSerialNumber)
+ return issuerAndSerialNumber;
return new IssuerAndSerialNumber(Asn1Sequence.GetInstance(obj));
}
- private IssuerAndSerialNumber(Asn1Sequence seq)
+ public static IssuerAndSerialNumber GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- this.name = X509Name.GetInstance(seq[0]);
- this.serialNumber = (DerInteger) seq[1];
+ return new IssuerAndSerialNumber(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
- public IssuerAndSerialNumber(
- X509Name name,
- BigInteger serialNumber)
- {
- this.name = name;
- this.serialNumber = new DerInteger(serialNumber);
- }
+ private X509Name m_name;
+ private DerInteger m_serialNumber;
- public IssuerAndSerialNumber(
- X509Name name,
- DerInteger serialNumber)
+ private IssuerAndSerialNumber(Asn1Sequence seq)
{
- this.name = name;
- this.serialNumber = serialNumber;
+ m_name = X509Name.GetInstance(seq[0]);
+ m_serialNumber = DerInteger.GetInstance(seq[1]);
}
- public X509Name Name
+ public IssuerAndSerialNumber(X509Name name, BigInteger serialNumber)
{
- get { return name; }
+ m_name = name;
+ m_serialNumber = new DerInteger(serialNumber);
}
- public DerInteger SerialNumber
+ public IssuerAndSerialNumber(X509Name name, DerInteger serialNumber)
{
- get { return serialNumber; }
+ m_name = name;
+ m_serialNumber = serialNumber;
}
- public override Asn1Object ToAsn1Object()
+ public IssuerAndSerialNumber(X509CertificateStructure x509CertificateStructure)
{
- return new DerSequence(name, serialNumber);
+ m_name = x509CertificateStructure.Issuer;
+ m_serialNumber = x509CertificateStructure.SerialNumber;
}
+
+ public X509Name Name => m_name;
+
+ public DerInteger SerialNumber => m_serialNumber;
+
+ public override Asn1Object ToAsn1Object() => new DerSequence(m_name, m_serialNumber);
}
}
diff --git a/crypto/src/asn1/cms/KEKIdentifier.cs b/crypto/src/asn1/cms/KEKIdentifier.cs
index 70ae8c438..09676fd0e 100644
--- a/crypto/src/asn1/cms/KEKIdentifier.cs
+++ b/crypto/src/asn1/cms/KEKIdentifier.cs
@@ -1,12 +1,24 @@
using System;
-using Org.BouncyCastle.Utilities;
-
namespace Org.BouncyCastle.Asn1.Cms
{
public class KekIdentifier
: Asn1Encodable
{
+ public static KekIdentifier GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is KekIdentifier kekIdentifier)
+ return kekIdentifier;
+ return new KekIdentifier(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static KekIdentifier GetInstance(Asn1TaggedObject obj, bool explicitly)
+ {
+ return new KekIdentifier(Asn1Sequence.GetInstance(obj, explicitly));
+ }
+
private Asn1OctetString keyIdentifier;
private Asn1GeneralizedTime date;
private OtherKeyAttribute other;
@@ -48,41 +60,7 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- /**
- * return a KekIdentifier object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param explicitly true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static KekIdentifier GetInstance(
- Asn1TaggedObject obj,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
- }
-
- /**
- * return a KekIdentifier object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static KekIdentifier GetInstance(
- object obj)
- {
- if (obj == null || obj is KekIdentifier)
- return (KekIdentifier)obj;
-
- if (obj is Asn1Sequence)
- return new KekIdentifier((Asn1Sequence)obj);
-
- throw new ArgumentException("Invalid KekIdentifier: " + Platform.GetTypeName(obj));
- }
-
- public Asn1OctetString KeyIdentifier
+ public Asn1OctetString KeyIdentifier
{
get { return keyIdentifier; }
}
diff --git a/crypto/src/asn1/cms/KEKRecipientInfo.cs b/crypto/src/asn1/cms/KEKRecipientInfo.cs
index 810e7fc97..6ab5f264f 100644
--- a/crypto/src/asn1/cms/KEKRecipientInfo.cs
+++ b/crypto/src/asn1/cms/KEKRecipientInfo.cs
@@ -1,13 +1,24 @@
-using System;
-
using Org.BouncyCastle.Asn1.X509;
-using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cms
{
public class KekRecipientInfo
: Asn1Encodable
{
+ public static KekRecipientInfo GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is KekRecipientInfo kekRecipientInfo)
+ return kekRecipientInfo;
+ return new KekRecipientInfo(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static KekRecipientInfo GetInstance(Asn1TaggedObject obj, bool explicitly)
+ {
+ return new KekRecipientInfo(Asn1Sequence.GetInstance(obj, explicitly));
+ }
+
private DerInteger version;
private KekIdentifier kekID;
private AlgorithmIdentifier keyEncryptionAlgorithm;
@@ -33,41 +44,7 @@ namespace Org.BouncyCastle.Asn1.Cms
encryptedKey = (Asn1OctetString) seq[3];
}
- /**
- * return a KekRecipientInfo object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param explicitly true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static KekRecipientInfo GetInstance(
- Asn1TaggedObject obj,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
- }
-
- /**
- * return a KekRecipientInfo object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static KekRecipientInfo GetInstance(
- object obj)
- {
- if (obj == null || obj is KekRecipientInfo)
- return (KekRecipientInfo)obj;
-
- if(obj is Asn1Sequence)
- return new KekRecipientInfo((Asn1Sequence)obj);
-
- throw new ArgumentException("Invalid KekRecipientInfo: " + Platform.GetTypeName(obj));
- }
-
- public DerInteger Version
+ public DerInteger Version
{
get { return version; }
}
diff --git a/crypto/src/asn1/cms/KeyAgreeRecipientIdentifier.cs b/crypto/src/asn1/cms/KeyAgreeRecipientIdentifier.cs
index 0256c2dc2..9e6e3bd5a 100644
--- a/crypto/src/asn1/cms/KeyAgreeRecipientIdentifier.cs
+++ b/crypto/src/asn1/cms/KeyAgreeRecipientIdentifier.cs
@@ -4,48 +4,36 @@ using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cms
{
- public class KeyAgreeRecipientIdentifier
+ public class KeyAgreeRecipientIdentifier
: Asn1Encodable, IAsn1Choice
{
- /**
- * return an KeyAgreeRecipientIdentifier object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param isExplicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static KeyAgreeRecipientIdentifier GetInstance(
- Asn1TaggedObject obj,
- bool isExplicit)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
- }
-
- /**
- * return an KeyAgreeRecipientIdentifier object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static KeyAgreeRecipientIdentifier GetInstance(
- object obj)
- {
- if (obj == null || obj is KeyAgreeRecipientIdentifier)
- return (KeyAgreeRecipientIdentifier)obj;
+ public static KeyAgreeRecipientIdentifier GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
- if (obj is Asn1Sequence)
- return new KeyAgreeRecipientIdentifier(IssuerAndSerialNumber.GetInstance(obj));
+ if (obj is KeyAgreeRecipientIdentifier keyAgreeRecipientIdentifier)
+ return keyAgreeRecipientIdentifier;
- if (obj is Asn1TaggedObject && ((Asn1TaggedObject)obj).TagNo == 0)
- {
- return new KeyAgreeRecipientIdentifier(RecipientKeyIdentifier.GetInstance(
- (Asn1TaggedObject)obj, false));
- }
+ if (obj is IssuerAndSerialNumber issuerAndSerialNumber)
+ return new KeyAgreeRecipientIdentifier(issuerAndSerialNumber);
+
+ if (obj is Asn1Sequence sequence)
+ return new KeyAgreeRecipientIdentifier(IssuerAndSerialNumber.GetInstance(sequence));
+
+ if (obj is Asn1TaggedObject taggedObject)
+ {
+ if (taggedObject.HasContextTag(0))
+ return new KeyAgreeRecipientIdentifier(RecipientKeyIdentifier.GetInstance(taggedObject, false));
+ }
- throw new ArgumentException("Invalid KeyAgreeRecipientIdentifier: " + Platform.GetTypeName(obj), "obj");
- }
+ throw new ArgumentException("Invalid KeyAgreeRecipientIdentifier: " + Platform.GetTypeName(obj), nameof(obj));
+ }
+
+ public static KeyAgreeRecipientIdentifier GetInstance(Asn1TaggedObject obj, bool isExplicit)
+ {
+ return Asn1Utilities.GetInstanceFromChoice(obj, isExplicit, GetInstance);
+ }
private readonly IssuerAndSerialNumber issuerSerial;
private readonly RecipientKeyIdentifier rKeyID;
diff --git a/crypto/src/asn1/cms/KeyAgreeRecipientInfo.cs b/crypto/src/asn1/cms/KeyAgreeRecipientInfo.cs
index be2d76e2c..77f3f3748 100644
--- a/crypto/src/asn1/cms/KeyAgreeRecipientInfo.cs
+++ b/crypto/src/asn1/cms/KeyAgreeRecipientInfo.cs
@@ -1,13 +1,24 @@
-using System;
-
using Org.BouncyCastle.Asn1.X509;
-using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cms
{
public class KeyAgreeRecipientInfo
: Asn1Encodable
{
+ public static KeyAgreeRecipientInfo GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is KeyAgreeRecipientInfo keyAgreeRecipientInfo)
+ return keyAgreeRecipientInfo;
+ return new KeyAgreeRecipientInfo(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static KeyAgreeRecipientInfo GetInstance(Asn1TaggedObject obj, bool explicitly)
+ {
+ return new KeyAgreeRecipientInfo(Asn1Sequence.GetInstance(obj, explicitly));
+ }
+
private DerInteger version;
private OriginatorIdentifierOrKey originator;
private Asn1OctetString ukm;
@@ -45,43 +56,7 @@ namespace Org.BouncyCastle.Asn1.Cms
recipientEncryptedKeys = (Asn1Sequence)seq[index++];
}
- /**
- * return a KeyAgreeRecipientInfo object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param explicitly true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static KeyAgreeRecipientInfo GetInstance(
- Asn1TaggedObject obj,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
- }
-
- /**
- * return a KeyAgreeRecipientInfo object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static KeyAgreeRecipientInfo GetInstance(
- object obj)
- {
- if (obj == null || obj is KeyAgreeRecipientInfo)
- return (KeyAgreeRecipientInfo)obj;
-
- if (obj is Asn1Sequence)
- return new KeyAgreeRecipientInfo((Asn1Sequence)obj);
-
- throw new ArgumentException(
- "Illegal object in KeyAgreeRecipientInfo: " + Platform.GetTypeName(obj));
-
- }
-
- public DerInteger Version
+ public DerInteger Version
{
get { return version; }
}
diff --git a/crypto/src/asn1/cms/KeyTransRecipientInfo.cs b/crypto/src/asn1/cms/KeyTransRecipientInfo.cs
index 5e4fd22b4..c33ab8b73 100644
--- a/crypto/src/asn1/cms/KeyTransRecipientInfo.cs
+++ b/crypto/src/asn1/cms/KeyTransRecipientInfo.cs
@@ -8,6 +8,20 @@ namespace Org.BouncyCastle.Asn1.Cms
public class KeyTransRecipientInfo
: Asn1Encodable
{
+ public static KeyTransRecipientInfo GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is KeyTransRecipientInfo keyTransRecipientInfo)
+ return keyTransRecipientInfo;
+ return new KeyTransRecipientInfo(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static KeyTransRecipientInfo GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new KeyTransRecipientInfo(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
+
private DerInteger version;
private RecipientIdentifier rid;
private AlgorithmIdentifier keyEncryptionAlgorithm;
@@ -41,25 +55,6 @@ namespace Org.BouncyCastle.Asn1.Cms
this.encryptedKey = (Asn1OctetString) seq[3];
}
- /**
- * return a KeyTransRecipientInfo object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static KeyTransRecipientInfo GetInstance(
- object obj)
- {
- if (obj == null || obj is KeyTransRecipientInfo)
- return (KeyTransRecipientInfo) obj;
-
- if(obj is Asn1Sequence)
- return new KeyTransRecipientInfo((Asn1Sequence) obj);
-
- throw new ArgumentException(
- "Illegal object in KeyTransRecipientInfo: " + Platform.GetTypeName(obj));
- }
-
public DerInteger Version
{
get { return version; }
diff --git a/crypto/src/asn1/cms/MetaData.cs b/crypto/src/asn1/cms/MetaData.cs
index 6435d4d2e..a0d783d59 100644
--- a/crypto/src/asn1/cms/MetaData.cs
+++ b/crypto/src/asn1/cms/MetaData.cs
@@ -5,7 +5,21 @@ namespace Org.BouncyCastle.Asn1.Cms
public class MetaData
: Asn1Encodable
{
- private DerBoolean hashProtected;
+ public static MetaData GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is MetaData metaData)
+ return metaData;
+ return new MetaData(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static MetaData GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new MetaData(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
+
+ private DerBoolean hashProtected;
private DerUtf8String fileName;
private DerIA5String mediaType;
private Attributes otherMetaData;
@@ -44,17 +58,6 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- public static MetaData GetInstance(object obj)
- {
- if (obj is MetaData)
- return (MetaData)obj;
-
- if (obj != null)
- return new MetaData(Asn1Sequence.GetInstance(obj));
-
- return null;
- }
-
/**
* <pre>
* MetaData ::= SEQUENCE {
diff --git a/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs b/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs
index 69b860f5f..6d127ccc3 100644
--- a/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs
+++ b/crypto/src/asn1/cms/OriginatorIdentifierOrKey.cs
@@ -31,7 +31,7 @@ namespace Org.BouncyCastle.Asn1.Cms
return new OriginatorIdentifierOrKey(OriginatorPublicKey.GetInstance(taggedObject, false));
}
- throw new ArgumentException("Invalid OriginatorIdentifierOrKey: " + Platform.GetTypeName(o));
+ throw new ArgumentException("Invalid OriginatorIdentifierOrKey: " + Platform.GetTypeName(o), nameof(o));
}
public static OriginatorIdentifierOrKey GetInstance(Asn1TaggedObject o, bool explicitly)
diff --git a/crypto/src/asn1/cms/OriginatorInfo.cs b/crypto/src/asn1/cms/OriginatorInfo.cs
index c11e01dfe..e98fd0640 100644
--- a/crypto/src/asn1/cms/OriginatorInfo.cs
+++ b/crypto/src/asn1/cms/OriginatorInfo.cs
@@ -7,6 +7,20 @@ namespace Org.BouncyCastle.Asn1.Cms
public class OriginatorInfo
: Asn1Encodable
{
+ public static OriginatorInfo GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is OriginatorInfo originatorInfo)
+ return originatorInfo;
+ return new OriginatorInfo(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static OriginatorInfo GetInstance(Asn1TaggedObject obj, bool explicitly)
+ {
+ return new OriginatorInfo(Asn1Sequence.GetInstance(obj, explicitly));
+ }
+
private Asn1Set certs;
private Asn1Set crls;
@@ -48,41 +62,7 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- /**
- * return an OriginatorInfo object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param explicitly true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static OriginatorInfo GetInstance(
- Asn1TaggedObject obj,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
- }
-
- /**
- * return an OriginatorInfo object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static OriginatorInfo GetInstance(
- object obj)
- {
- if (obj == null || obj is OriginatorInfo)
- return (OriginatorInfo)obj;
-
- if (obj is Asn1Sequence)
- return new OriginatorInfo((Asn1Sequence)obj);
-
- throw new ArgumentException("Invalid OriginatorInfo: " + Platform.GetTypeName(obj));
- }
-
- public Asn1Set Certificates
+ public Asn1Set Certificates
{
get { return certs; }
}
diff --git a/crypto/src/asn1/cms/OriginatorPublicKey.cs b/crypto/src/asn1/cms/OriginatorPublicKey.cs
index 8c7c6b50f..6ed017877 100644
--- a/crypto/src/asn1/cms/OriginatorPublicKey.cs
+++ b/crypto/src/asn1/cms/OriginatorPublicKey.cs
@@ -16,7 +16,7 @@ namespace Org.BouncyCastle.Asn1.Cms
public static OriginatorPublicKey GetInstance(Asn1TaggedObject obj, bool explicitly)
{
- return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
+ return new OriginatorPublicKey(Asn1Sequence.GetInstance(obj, explicitly));
}
private readonly AlgorithmIdentifier m_algorithm;
diff --git a/crypto/src/asn1/cms/OtherKeyAttribute.cs b/crypto/src/asn1/cms/OtherKeyAttribute.cs
index 285c88154..7c85de86e 100644
--- a/crypto/src/asn1/cms/OtherKeyAttribute.cs
+++ b/crypto/src/asn1/cms/OtherKeyAttribute.cs
@@ -1,33 +1,25 @@
-using System;
-
-using Org.BouncyCastle.Utilities;
-
namespace Org.BouncyCastle.Asn1.Cms
{
public class OtherKeyAttribute
: Asn1Encodable
{
- private DerObjectIdentifier keyAttrId;
- private Asn1Encodable keyAttr;
-
- /**
- * return an OtherKeyAttribute object from the given object.
- *
- * @param o the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static OtherKeyAttribute GetInstance(
- object obj)
+ public static OtherKeyAttribute GetInstance(object obj)
{
- if (obj == null || obj is OtherKeyAttribute)
- return (OtherKeyAttribute) obj;
-
- if (obj is Asn1Sequence)
- return new OtherKeyAttribute((Asn1Sequence) obj);
+ if (obj == null)
+ return null;
+ if (obj is OtherKeyAttribute otherKeyAttribute)
+ return otherKeyAttribute;
+ return new OtherKeyAttribute(Asn1Sequence.GetInstance(obj));
+ }
- throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj");
+ public static OtherKeyAttribute GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new OtherKeyAttribute(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
+ private DerObjectIdentifier keyAttrId;
+ private Asn1Encodable keyAttr;
+
public OtherKeyAttribute(
Asn1Sequence seq)
{
diff --git a/crypto/src/asn1/cms/OtherRecipientInfo.cs b/crypto/src/asn1/cms/OtherRecipientInfo.cs
index eb5f6202e..989b6183e 100644
--- a/crypto/src/asn1/cms/OtherRecipientInfo.cs
+++ b/crypto/src/asn1/cms/OtherRecipientInfo.cs
@@ -1,10 +1,22 @@
-using System;
-
namespace Org.BouncyCastle.Asn1.Cms
{
public class OtherRecipientInfo
: Asn1Encodable
{
+ public static OtherRecipientInfo GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is OtherRecipientInfo otherRecipientInfo)
+ return otherRecipientInfo;
+ return new OtherRecipientInfo(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static OtherRecipientInfo GetInstance(Asn1TaggedObject obj, bool explicitly)
+ {
+ return new OtherRecipientInfo(Asn1Sequence.GetInstance(obj, explicitly));
+ }
+
private readonly DerObjectIdentifier oriType;
private readonly Asn1Encodable oriValue;
@@ -22,39 +34,6 @@ namespace Org.BouncyCastle.Asn1.Cms
oriValue = seq[1];
}
- /**
- * return a OtherRecipientInfo object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param explicitly true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static OtherRecipientInfo GetInstance(
- Asn1TaggedObject obj,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
- }
-
- /**
- * return a OtherRecipientInfo object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static OtherRecipientInfo GetInstance(
- object obj)
- {
- if (obj == null)
- return null;
- OtherRecipientInfo existing = obj as OtherRecipientInfo;
- if (existing != null)
- return existing;
- return new OtherRecipientInfo(Asn1Sequence.GetInstance(obj));
- }
-
public virtual DerObjectIdentifier OriType
{
get { return oriType; }
diff --git a/crypto/src/asn1/cms/OtherRevocationInfoFormat.cs b/crypto/src/asn1/cms/OtherRevocationInfoFormat.cs
index f6335cdac..d39f14aa8 100644
--- a/crypto/src/asn1/cms/OtherRevocationInfoFormat.cs
+++ b/crypto/src/asn1/cms/OtherRevocationInfoFormat.cs
@@ -3,6 +3,20 @@
public class OtherRevocationInfoFormat
: Asn1Encodable
{
+ public static OtherRevocationInfoFormat GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is OtherRevocationInfoFormat otherRevocationInfoFormat)
+ return otherRevocationInfoFormat;
+ return new OtherRevocationInfoFormat(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static OtherRevocationInfoFormat GetInstance(Asn1TaggedObject obj, bool isExplicit)
+ {
+ return new OtherRevocationInfoFormat(Asn1Sequence.GetInstance(obj, isExplicit));
+ }
+
private readonly DerObjectIdentifier otherRevInfoFormat;
private readonly Asn1Encodable otherRevInfo;
@@ -20,35 +34,6 @@
otherRevInfo = seq[1];
}
- /**
- * return a OtherRevocationInfoFormat object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param explicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception IllegalArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static OtherRevocationInfoFormat GetInstance(Asn1TaggedObject obj, bool isExplicit)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
- }
-
- /**
- * return a OtherRevocationInfoFormat object from the given object.
- *
- * @param obj the object we want converted.
- * @exception IllegalArgumentException if the object cannot be converted.
- */
- public static OtherRevocationInfoFormat GetInstance(object obj)
- {
- if (obj is OtherRevocationInfoFormat otherRevocationInfoFormat)
- return otherRevocationInfoFormat;
- if (obj != null)
- return new OtherRevocationInfoFormat(Asn1Sequence.GetInstance(obj));
- return null;
- }
-
public virtual DerObjectIdentifier InfoFormat
{
get { return otherRevInfoFormat; }
diff --git a/crypto/src/asn1/cms/PasswordRecipientInfo.cs b/crypto/src/asn1/cms/PasswordRecipientInfo.cs
index 9fb639bf3..c25d61a46 100644
--- a/crypto/src/asn1/cms/PasswordRecipientInfo.cs
+++ b/crypto/src/asn1/cms/PasswordRecipientInfo.cs
@@ -1,13 +1,24 @@
-using System;
-
using Org.BouncyCastle.Asn1.X509;
-using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cms
{
public class PasswordRecipientInfo
: Asn1Encodable
{
+ public static PasswordRecipientInfo GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is PasswordRecipientInfo passwordRecipientInfo)
+ return passwordRecipientInfo;
+ return new PasswordRecipientInfo(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static PasswordRecipientInfo GetInstance(Asn1TaggedObject obj, bool explicitly)
+ {
+ return new PasswordRecipientInfo(Asn1Sequence.GetInstance(obj, explicitly));
+ }
+
private readonly DerInteger version;
private readonly AlgorithmIdentifier keyDerivationAlgorithm;
private readonly AlgorithmIdentifier keyEncryptionAlgorithm;
@@ -50,41 +61,7 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- /**
- * return a PasswordRecipientInfo object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param explicitly true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static PasswordRecipientInfo GetInstance(
- Asn1TaggedObject obj,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
- }
-
- /**
- * return a PasswordRecipientInfo object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static PasswordRecipientInfo GetInstance(
- object obj)
- {
- if (obj == null || obj is PasswordRecipientInfo)
- return (PasswordRecipientInfo) obj;
-
- if (obj is Asn1Sequence)
- return new PasswordRecipientInfo((Asn1Sequence) obj);
-
- throw new ArgumentException("Invalid PasswordRecipientInfo: " + Platform.GetTypeName(obj));
- }
-
- public DerInteger Version
+ public DerInteger Version
{
get { return version; }
}
diff --git a/crypto/src/asn1/cms/RecipientEncryptedKey.cs b/crypto/src/asn1/cms/RecipientEncryptedKey.cs
index 1afba4ab1..0e0214909 100644
--- a/crypto/src/asn1/cms/RecipientEncryptedKey.cs
+++ b/crypto/src/asn1/cms/RecipientEncryptedKey.cs
@@ -1,13 +1,23 @@
-using System;
-
-using Org.BouncyCastle.Utilities;
-
namespace Org.BouncyCastle.Asn1.Cms
{
- public class RecipientEncryptedKey
+ public class RecipientEncryptedKey
: Asn1Encodable
{
- private readonly KeyAgreeRecipientIdentifier identifier;
+ public static RecipientEncryptedKey GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is RecipientEncryptedKey recipientEncryptedKey)
+ return recipientEncryptedKey;
+ return new RecipientEncryptedKey(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static RecipientEncryptedKey GetInstance(Asn1TaggedObject obj, bool isExplicit)
+ {
+ return new RecipientEncryptedKey(Asn1Sequence.GetInstance(obj, isExplicit));
+ }
+
+ private readonly KeyAgreeRecipientIdentifier identifier;
private readonly Asn1OctetString encryptedKey;
private RecipientEncryptedKey(
@@ -17,45 +27,7 @@ namespace Org.BouncyCastle.Asn1.Cms
encryptedKey = (Asn1OctetString) seq[1];
}
- /**
- * return an RecipientEncryptedKey object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param isExplicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static RecipientEncryptedKey GetInstance(
- Asn1TaggedObject obj,
- bool isExplicit)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
- }
-
- /**
- * return a RecipientEncryptedKey object from the given object.
- *
- * @param obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static RecipientEncryptedKey GetInstance(
- object obj)
- {
- if (obj == null || obj is RecipientEncryptedKey)
- {
- return (RecipientEncryptedKey) obj;
- }
-
- if (obj is Asn1Sequence)
- {
- return new RecipientEncryptedKey((Asn1Sequence) obj);
- }
-
- throw new ArgumentException("Invalid RecipientEncryptedKey: " + Platform.GetTypeName(obj), "obj");
- }
-
- public RecipientEncryptedKey(
+ public RecipientEncryptedKey(
KeyAgreeRecipientIdentifier id,
Asn1OctetString encryptedKey)
{
diff --git a/crypto/src/asn1/cms/RecipientIdentifier.cs b/crypto/src/asn1/cms/RecipientIdentifier.cs
index 22ac76340..de9fd5e75 100644
--- a/crypto/src/asn1/cms/RecipientIdentifier.cs
+++ b/crypto/src/asn1/cms/RecipientIdentifier.cs
@@ -7,12 +7,6 @@ namespace Org.BouncyCastle.Asn1.Cms
public class RecipientIdentifier
: Asn1Encodable, IAsn1Choice
{
- /**
- * return a RecipientIdentifier object from the given object.
- *
- * @param o the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
public static RecipientIdentifier GetInstance(object o)
{
if (o == null)
@@ -26,7 +20,12 @@ namespace Org.BouncyCastle.Asn1.Cms
if (o is Asn1Object asn1Object)
return new RecipientIdentifier(asn1Object);
- throw new ArgumentException("Illegal object in RecipientIdentifier: " + Platform.GetTypeName(o));
+ throw new ArgumentException("Illegal object in RecipientIdentifier: " + Platform.GetTypeName(o), nameof(o));
+ }
+
+ public static RecipientIdentifier GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return Asn1Utilities.GetInstanceFromChoice(taggedObject, declaredExplicit, GetInstance);
}
private readonly Asn1Encodable m_id;
diff --git a/crypto/src/asn1/cms/RecipientInfo.cs b/crypto/src/asn1/cms/RecipientInfo.cs
index 3f5ccea5b..ff93258b6 100644
--- a/crypto/src/asn1/cms/RecipientInfo.cs
+++ b/crypto/src/asn1/cms/RecipientInfo.cs
@@ -7,6 +7,28 @@ namespace Org.BouncyCastle.Asn1.Cms
public class RecipientInfo
: Asn1Encodable, IAsn1Choice
{
+ public static RecipientInfo GetInstance(object o)
+ {
+ if (o == null)
+ return null;
+
+ if (o is RecipientInfo recipientInfo)
+ return recipientInfo;
+
+ if (o is Asn1Sequence sequence)
+ return new RecipientInfo(sequence);
+
+ if (o is Asn1TaggedObject taggedObject)
+ return new RecipientInfo(taggedObject);
+
+ throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(o), nameof(o));
+ }
+
+ public static RecipientInfo GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return Asn1Utilities.GetInstanceFromChoice(taggedObject, declaredExplicit, GetInstance);
+ }
+
internal Asn1Encodable info;
public RecipientInfo(
@@ -45,23 +67,6 @@ namespace Org.BouncyCastle.Asn1.Cms
this.info = info;
}
- public static RecipientInfo GetInstance(object o)
- {
- if (o == null)
- return null;
-
- if (o is RecipientInfo recipientInfo)
- return recipientInfo;
-
- if (o is Asn1Sequence sequence)
- return new RecipientInfo(sequence);
-
- if (o is Asn1TaggedObject taggedObject)
- return new RecipientInfo(taggedObject);
-
- throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(o));
- }
-
public DerInteger Version
{
get
diff --git a/crypto/src/asn1/cms/RecipientKeyIdentifier.cs b/crypto/src/asn1/cms/RecipientKeyIdentifier.cs
index 60a6151bf..9a340b24f 100644
--- a/crypto/src/asn1/cms/RecipientKeyIdentifier.cs
+++ b/crypto/src/asn1/cms/RecipientKeyIdentifier.cs
@@ -7,6 +7,20 @@ namespace Org.BouncyCastle.Asn1.Cms
public class RecipientKeyIdentifier
: Asn1Encodable
{
+ public static RecipientKeyIdentifier GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is RecipientKeyIdentifier recipientKeyIdentifier)
+ return recipientKeyIdentifier;
+ return new RecipientKeyIdentifier(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static RecipientKeyIdentifier GetInstance(Asn1TaggedObject ato, bool explicitly)
+ {
+ return new RecipientKeyIdentifier(Asn1Sequence.GetInstance(ato, explicitly));
+ }
+
private Asn1OctetString subjectKeyIdentifier;
private Asn1GeneralizedTime date;
private OtherKeyAttribute other;
@@ -64,41 +78,7 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- /**
- * return a RecipientKeyIdentifier object from a tagged object.
- *
- * @param _ato the tagged object holding the object we want.
- * @param _explicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static RecipientKeyIdentifier GetInstance(
- Asn1TaggedObject ato,
- bool explicitly)
- {
- return GetInstance(Asn1Sequence.GetInstance(ato, explicitly));
- }
-
- /**
- * return a RecipientKeyIdentifier object from the given object.
- *
- * @param _obj the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static RecipientKeyIdentifier GetInstance(
- object obj)
- {
- if (obj == null || obj is RecipientKeyIdentifier)
- return (RecipientKeyIdentifier) obj;
-
- if (obj is Asn1Sequence)
- return new RecipientKeyIdentifier((Asn1Sequence) obj);
-
- throw new ArgumentException("Invalid RecipientKeyIdentifier: " + Platform.GetTypeName(obj));
- }
-
- public Asn1OctetString SubjectKeyIdentifier
+ public Asn1OctetString SubjectKeyIdentifier
{
get { return subjectKeyIdentifier; }
}
diff --git a/crypto/src/asn1/cms/SCVPReqRes.cs b/crypto/src/asn1/cms/SCVPReqRes.cs
index 8b5f858a6..ec36ff9fa 100644
--- a/crypto/src/asn1/cms/SCVPReqRes.cs
+++ b/crypto/src/asn1/cms/SCVPReqRes.cs
@@ -1,22 +1,25 @@
-using System;
-
-namespace Org.BouncyCastle.Asn1.Cms
+namespace Org.BouncyCastle.Asn1.Cms
{
public class ScvpReqRes
: Asn1Encodable
{
- private readonly ContentInfo request;
- private readonly ContentInfo response;
+ public static ScvpReqRes GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is ScvpReqRes scvpReqRes)
+ return scvpReqRes;
+ return new ScvpReqRes(Asn1Sequence.GetInstance(obj));
+ }
- public static ScvpReqRes GetInstance(object obj)
+ public static ScvpReqRes GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
- if (obj is ScvpReqRes)
- return (ScvpReqRes)obj;
- if (obj != null)
- return new ScvpReqRes(Asn1Sequence.GetInstance(obj));
- return null;
+ return new ScvpReqRes(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
+ private readonly ContentInfo request;
+ private readonly ContentInfo response;
+
private ScvpReqRes(Asn1Sequence seq)
{
if (seq[0] is Asn1TaggedObject taggedObject)
diff --git a/crypto/src/asn1/cms/SignedData.cs b/crypto/src/asn1/cms/SignedData.cs
index 9018bc6fd..858715ad6 100644
--- a/crypto/src/asn1/cms/SignedData.cs
+++ b/crypto/src/asn1/cms/SignedData.cs
@@ -8,6 +8,20 @@ namespace Org.BouncyCastle.Asn1.Cms
public class SignedData
: Asn1Encodable
{
+ public static SignedData GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is SignedData signedData)
+ return signedData;
+ return new SignedData(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static SignedData GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new SignedData(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
+
private static readonly DerInteger Version1 = new DerInteger(1);
private static readonly DerInteger Version3 = new DerInteger(3);
private static readonly DerInteger Version4 = new DerInteger(4);
@@ -22,15 +36,6 @@ namespace Org.BouncyCastle.Asn1.Cms
private readonly bool certsBer;
private readonly bool crlsBer;
- public static SignedData GetInstance(object obj)
- {
- if (obj is SignedData signedData)
- return signedData;
- if (obj == null)
- return null;
- return new SignedData(Asn1Sequence.GetInstance(obj));
- }
-
public SignedData(
Asn1Set digestAlgorithms,
ContentInfo contentInfo,
diff --git a/crypto/src/asn1/cms/SignerIdentifier.cs b/crypto/src/asn1/cms/SignerIdentifier.cs
index 9edf6a8c8..17f3f08c2 100644
--- a/crypto/src/asn1/cms/SignerIdentifier.cs
+++ b/crypto/src/asn1/cms/SignerIdentifier.cs
@@ -7,6 +7,31 @@ namespace Org.BouncyCastle.Asn1.Cms
public class SignerIdentifier
: Asn1Encodable, IAsn1Choice
{
+ public static SignerIdentifier GetInstance(object o)
+ {
+ if (o == null)
+ return null;
+
+ if (o is SignerIdentifier signerIdentifier)
+ return signerIdentifier;
+
+ if (o is IssuerAndSerialNumber issuerAndSerialNumber)
+ return new SignerIdentifier(issuerAndSerialNumber);
+
+ if (o is Asn1OctetString octetString)
+ return new SignerIdentifier(octetString);
+
+ if (o is Asn1Object asn1Object)
+ return new SignerIdentifier(asn1Object);
+
+ throw new ArgumentException("Illegal object in SignerIdentifier: " + Platform.GetTypeName(o), nameof(o));
+ }
+
+ public static SignerIdentifier GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return Asn1Utilities.GetInstanceFromChoice(taggedObject, declaredExplicit, GetInstance);
+ }
+
private Asn1Encodable id;
public SignerIdentifier(
@@ -27,31 +52,6 @@ namespace Org.BouncyCastle.Asn1.Cms
this.id = id;
}
- /**
- * return a SignerIdentifier object from the given object.
- *
- * @param o the object we want converted.
- * @exception ArgumentException if the object cannot be converted.
- */
- public static SignerIdentifier GetInstance(
- object o)
- {
- if (o == null || o is SignerIdentifier)
- return (SignerIdentifier) o;
-
- if (o is IssuerAndSerialNumber)
- return new SignerIdentifier((IssuerAndSerialNumber) o);
-
- if (o is Asn1OctetString)
- return new SignerIdentifier((Asn1OctetString) o);
-
- if (o is Asn1Object)
- return new SignerIdentifier((Asn1Object) o);
-
- throw new ArgumentException(
- "Illegal object in SignerIdentifier: " + Platform.GetTypeName(o));
- }
-
public bool IsTagged
{
get { return (id is Asn1TaggedObject); }
diff --git a/crypto/src/asn1/cms/SignerInfo.cs b/crypto/src/asn1/cms/SignerInfo.cs
index dbd0125c4..bce33e699 100644
--- a/crypto/src/asn1/cms/SignerInfo.cs
+++ b/crypto/src/asn1/cms/SignerInfo.cs
@@ -1,13 +1,24 @@
-using System;
-
using Org.BouncyCastle.Asn1.X509;
-using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.Cms
{
public class SignerInfo
: Asn1Encodable
{
+ public static SignerInfo GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is SignerInfo signerInfo)
+ return signerInfo;
+ return new SignerInfo(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static SignerInfo GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new SignerInfo(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
+
private DerInteger version;
private SignerIdentifier sid;
private AlgorithmIdentifier digAlgorithm;
@@ -16,17 +27,6 @@ namespace Org.BouncyCastle.Asn1.Cms
private Asn1OctetString encryptedDigest;
private Asn1Set unauthenticatedAttributes;
- public static SignerInfo GetInstance(object obj)
- {
- if (obj == null || obj is SignerInfo)
- return (SignerInfo) obj;
-
- if (obj is Asn1Sequence)
- return new SignerInfo((Asn1Sequence) obj);
-
- throw new ArgumentException("Unknown object in factory: " + Platform.GetTypeName(obj), "obj");
- }
-
public SignerInfo(
SignerIdentifier sid,
AlgorithmIdentifier digAlgorithm,
diff --git a/crypto/src/asn1/cms/TimeStampAndCRL.cs b/crypto/src/asn1/cms/TimeStampAndCRL.cs
index 4cb5f2a52..c0cd48905 100644
--- a/crypto/src/asn1/cms/TimeStampAndCRL.cs
+++ b/crypto/src/asn1/cms/TimeStampAndCRL.cs
@@ -1,11 +1,23 @@
-using System;
-
namespace Org.BouncyCastle.Asn1.Cms
{
- public class TimeStampAndCrl
+ public class TimeStampAndCrl
: Asn1Encodable
{
- private ContentInfo timeStamp;
+ public static TimeStampAndCrl GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is TimeStampAndCrl timeStampAndCrl)
+ return timeStampAndCrl;
+ return new TimeStampAndCrl(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static TimeStampAndCrl GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new TimeStampAndCrl(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
+
+ private ContentInfo timeStamp;
private X509.CertificateList crl;
public TimeStampAndCrl(ContentInfo timeStamp)
@@ -22,17 +34,6 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- public static TimeStampAndCrl GetInstance(object obj)
- {
- if (obj is TimeStampAndCrl)
- return (TimeStampAndCrl)obj;
-
- if (obj != null)
- return new TimeStampAndCrl(Asn1Sequence.GetInstance(obj));
-
- return null;
- }
-
public virtual ContentInfo TimeStampToken
{
get { return this.timeStamp; }
diff --git a/crypto/src/asn1/cms/TimeStampTokenEvidence.cs b/crypto/src/asn1/cms/TimeStampTokenEvidence.cs
index 8625d058e..6ac1eb11d 100644
--- a/crypto/src/asn1/cms/TimeStampTokenEvidence.cs
+++ b/crypto/src/asn1/cms/TimeStampTokenEvidence.cs
@@ -1,11 +1,23 @@
-using System;
-
namespace Org.BouncyCastle.Asn1.Cms
{
- public class TimeStampTokenEvidence
+ public class TimeStampTokenEvidence
: Asn1Encodable
{
- private TimeStampAndCrl[] timeStampAndCrls;
+ public static TimeStampTokenEvidence GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is TimeStampTokenEvidence timeStampTokenEvidence)
+ return timeStampTokenEvidence;
+ return new TimeStampTokenEvidence(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static TimeStampTokenEvidence GetInstance(Asn1TaggedObject tagged, bool isExplicit)
+ {
+ return new TimeStampTokenEvidence(Asn1Sequence.GetInstance(tagged, isExplicit));
+ }
+
+ private TimeStampAndCrl[] timeStampAndCrls;
public TimeStampTokenEvidence(TimeStampAndCrl[] timeStampAndCrls)
{
@@ -29,23 +41,7 @@ namespace Org.BouncyCastle.Asn1.Cms
}
}
- public static TimeStampTokenEvidence GetInstance(Asn1TaggedObject tagged, bool isExplicit)
- {
- return GetInstance(Asn1Sequence.GetInstance(tagged, isExplicit));
- }
-
- public static TimeStampTokenEvidence GetInstance(object obj)
- {
- if (obj is TimeStampTokenEvidence)
- return (TimeStampTokenEvidence)obj;
-
- if (obj != null)
- return new TimeStampTokenEvidence(Asn1Sequence.GetInstance(obj));
-
- return null;
- }
-
- public virtual TimeStampAndCrl[] ToTimeStampAndCrlArray()
+ public virtual TimeStampAndCrl[] ToTimeStampAndCrlArray()
{
return (TimeStampAndCrl[])timeStampAndCrls.Clone();
}
diff --git a/crypto/src/asn1/cms/TimeStampedData.cs b/crypto/src/asn1/cms/TimeStampedData.cs
index f90e5b086..4d9136ea0 100644
--- a/crypto/src/asn1/cms/TimeStampedData.cs
+++ b/crypto/src/asn1/cms/TimeStampedData.cs
@@ -5,7 +5,21 @@ namespace Org.BouncyCastle.Asn1.Cms
public class TimeStampedData
: Asn1Encodable
{
- private DerInteger version;
+ public static TimeStampedData GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is TimeStampedData timeStampedData)
+ return timeStampedData;
+ return new TimeStampedData(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static TimeStampedData GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
+ {
+ return new TimeStampedData(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
+ }
+
+ private DerInteger version;
private DerIA5String dataUri;
private MetaData metaData;
private Asn1OctetString content;
@@ -43,17 +57,6 @@ namespace Org.BouncyCastle.Asn1.Cms
this.temporalEvidence = Evidence.GetInstance(seq[index]);
}
- public static TimeStampedData GetInstance(object obj)
- {
- if (obj is TimeStampedData)
- return (TimeStampedData)obj;
-
- if (obj != null)
- return new TimeStampedData(Asn1Sequence.GetInstance(obj));
-
- return null;
- }
-
public virtual DerIA5String DataUri
{
get { return dataUri; }
diff --git a/crypto/src/asn1/cms/ecc/MQVuserKeyingMaterial.cs b/crypto/src/asn1/cms/ecc/MQVuserKeyingMaterial.cs
index 3a4761e78..047017351 100644
--- a/crypto/src/asn1/cms/ecc/MQVuserKeyingMaterial.cs
+++ b/crypto/src/asn1/cms/ecc/MQVuserKeyingMaterial.cs
@@ -7,7 +7,21 @@ namespace Org.BouncyCastle.Asn1.Cms.Ecc
public class MQVuserKeyingMaterial
: Asn1Encodable
{
- private OriginatorPublicKey ephemeralPublicKey;
+ public static MQVuserKeyingMaterial GetInstance(object obj)
+ {
+ if (obj == null)
+ return null;
+ if (obj is MQVuserKeyingMaterial mqvUserKeyingMaterial)
+ return mqvUserKeyingMaterial;
+ return new MQVuserKeyingMaterial(Asn1Sequence.GetInstance(obj));
+ }
+
+ public static MQVuserKeyingMaterial GetInstance(Asn1TaggedObject obj, bool isExplicit)
+ {
+ return new MQVuserKeyingMaterial(Asn1Sequence.GetInstance(obj, isExplicit));
+ }
+
+ private OriginatorPublicKey ephemeralPublicKey;
private Asn1OctetString addedukm;
public MQVuserKeyingMaterial(
@@ -34,45 +48,7 @@ namespace Org.BouncyCastle.Asn1.Cms.Ecc
}
}
- /**
- * return an AuthEnvelopedData object from a tagged object.
- *
- * @param obj the tagged object holding the object we want.
- * @param isExplicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @throws ArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static MQVuserKeyingMaterial GetInstance(
- Asn1TaggedObject obj,
- bool isExplicit)
- {
- return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
- }
-
- /**
- * return an AuthEnvelopedData object from the given object.
- *
- * @param obj the object we want converted.
- * @throws ArgumentException if the object cannot be converted.
- */
- public static MQVuserKeyingMaterial GetInstance(
- object obj)
- {
- if (obj == null || obj is MQVuserKeyingMaterial)
- {
- return (MQVuserKeyingMaterial)obj;
- }
-
- if (obj is Asn1Sequence)
- {
- return new MQVuserKeyingMaterial((Asn1Sequence)obj);
- }
-
- throw new ArgumentException("Invalid MQVuserKeyingMaterial: " + Platform.GetTypeName(obj));
- }
-
- public OriginatorPublicKey EphemeralPublicKey
+ public OriginatorPublicKey EphemeralPublicKey
{
get { return ephemeralPublicKey; }
}
diff --git a/crypto/src/cms/CMSUtils.cs b/crypto/src/cms/CMSUtils.cs
index 56509ed7f..d84c0afd7 100644
--- a/crypto/src/cms/CMSUtils.cs
+++ b/crypto/src/cms/CMSUtils.cs
@@ -187,7 +187,7 @@ namespace Org.BouncyCastle.Cms
internal static IssuerAndSerialNumber GetIssuerAndSerialNumber(X509Certificate cert)
{
TbsCertificateStructure tbsCert = GetTbsCertificateStructure(cert);
- return new IssuerAndSerialNumber(tbsCert.Issuer, tbsCert.SerialNumber.Value);
+ return new IssuerAndSerialNumber(tbsCert.Issuer, tbsCert.SerialNumber);
}
internal static Asn1.Cms.AttributeTable ParseAttributeTable(Asn1SetParser parser)
diff --git a/crypto/src/cms/KeyTransRecipientInfoGenerator.cs b/crypto/src/cms/KeyTransRecipientInfoGenerator.cs
index 9a2cbc5b0..a998ac90f 100644
--- a/crypto/src/cms/KeyTransRecipientInfoGenerator.cs
+++ b/crypto/src/cms/KeyTransRecipientInfoGenerator.cs
@@ -19,7 +19,7 @@ namespace Org.BouncyCastle.Cms
private Asn1OctetString m_subjectKeyIdentifier;
public KeyTransRecipientInfoGenerator(X509Certificate recipCert, IKeyWrapper keyWrapper)
- : this(new IssuerAndSerialNumber(recipCert.IssuerDN, new DerInteger(recipCert.SerialNumber)), keyWrapper)
+ : this(new IssuerAndSerialNumber(recipCert.CertificateStructure), keyWrapper)
{
}
diff --git a/crypto/src/cms/SignerInfoGenerator.cs b/crypto/src/cms/SignerInfoGenerator.cs
index 2fa185885..04c437614 100644
--- a/crypto/src/cms/SignerInfoGenerator.cs
+++ b/crypto/src/cms/SignerInfoGenerator.cs
@@ -130,8 +130,7 @@ namespace Org.BouncyCastle.Cms
*/
public SignerInfoGenerator Build(ISignatureFactory contentSigner, X509Certificate certificate)
{
- SignerIdentifier sigId = new SignerIdentifier(new IssuerAndSerialNumber(certificate.IssuerDN,
- new DerInteger(certificate.SerialNumber)));
+ SignerIdentifier sigId = new SignerIdentifier(new IssuerAndSerialNumber(certificate.CertificateStructure));
SignerInfoGenerator sigInfoGen = CreateGenerator(contentSigner, sigId);
diff --git a/crypto/src/crypto/operators/CmsKeyTransRecipientInfoGenerator.cs b/crypto/src/crypto/operators/CmsKeyTransRecipientInfoGenerator.cs
index 0165f6af0..e733bb018 100644
--- a/crypto/src/crypto/operators/CmsKeyTransRecipientInfoGenerator.cs
+++ b/crypto/src/crypto/operators/CmsKeyTransRecipientInfoGenerator.cs
@@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Operators
: KeyTransRecipientInfoGenerator
{
public CmsKeyTransRecipientInfoGenerator(X509Certificate recipCert, IKeyWrapper keyWrapper)
- : base(new Asn1.Cms.IssuerAndSerialNumber(recipCert.IssuerDN, new DerInteger(recipCert.SerialNumber)), keyWrapper)
+ : base(new Asn1.Cms.IssuerAndSerialNumber(recipCert.CertificateStructure), keyWrapper)
{
}
|