summary refs log tree commit diff
path: root/crypto/src/asn1/cms
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/asn1/cms')
-rw-r--r--crypto/src/asn1/cms/ContentInfoParser.cs5
-rw-r--r--crypto/src/asn1/cms/EncryptedContentInfoParser.cs30
-rw-r--r--crypto/src/asn1/cms/EnvelopedDataParser.cs186
-rw-r--r--crypto/src/asn1/cms/KEKIdentifier.cs11
-rw-r--r--crypto/src/asn1/cms/RecipientKeyIdentifier.cs12
-rw-r--r--crypto/src/asn1/cms/SignedDataParser.cs182
-rw-r--r--crypto/src/asn1/cms/Time.cs4
7 files changed, 208 insertions, 222 deletions
diff --git a/crypto/src/asn1/cms/ContentInfoParser.cs b/crypto/src/asn1/cms/ContentInfoParser.cs

index 750d8ba7a..e423be848 100644 --- a/crypto/src/asn1/cms/ContentInfoParser.cs +++ b/crypto/src/asn1/cms/ContentInfoParser.cs
@@ -22,10 +22,7 @@ namespace Org.BouncyCastle.Asn1.Cms m_content = (Asn1TaggedObjectParser)seq.ReadObject(); } - public DerObjectIdentifier ContentType - { - get { return m_contentType; } - } + public DerObjectIdentifier ContentType => m_contentType; public IAsn1Convertible GetContent(int tag) { diff --git a/crypto/src/asn1/cms/EncryptedContentInfoParser.cs b/crypto/src/asn1/cms/EncryptedContentInfoParser.cs
index 09434d7ef..42f72164a 100644 --- a/crypto/src/asn1/cms/EncryptedContentInfoParser.cs +++ b/crypto/src/asn1/cms/EncryptedContentInfoParser.cs
@@ -15,32 +15,24 @@ namespace Org.BouncyCastle.Asn1.Cms */ public class EncryptedContentInfoParser { - private DerObjectIdentifier _contentType; - private AlgorithmIdentifier _contentEncryptionAlgorithm; - private Asn1TaggedObjectParser _encryptedContent; + private readonly DerObjectIdentifier m_contentType; + private readonly AlgorithmIdentifier m_contentEncryptionAlgorithm; + private readonly Asn1TaggedObjectParser m_encryptedContent; - public EncryptedContentInfoParser( - Asn1SequenceParser seq) + public EncryptedContentInfoParser(Asn1SequenceParser seq) { - _contentType = (DerObjectIdentifier)seq.ReadObject(); - _contentEncryptionAlgorithm = AlgorithmIdentifier.GetInstance(seq.ReadObject().ToAsn1Object()); - _encryptedContent = (Asn1TaggedObjectParser)seq.ReadObject(); + m_contentType = (DerObjectIdentifier)seq.ReadObject(); + m_contentEncryptionAlgorithm = AlgorithmIdentifier.GetInstance(seq.ReadObject().ToAsn1Object()); + m_encryptedContent = (Asn1TaggedObjectParser)seq.ReadObject(); } - public DerObjectIdentifier ContentType - { - get { return _contentType; } - } + public DerObjectIdentifier ContentType => m_contentType; - public AlgorithmIdentifier ContentEncryptionAlgorithm - { - get { return _contentEncryptionAlgorithm; } - } + public AlgorithmIdentifier ContentEncryptionAlgorithm => m_contentEncryptionAlgorithm; - public IAsn1Convertible GetEncryptedContent( - int tag) + public IAsn1Convertible GetEncryptedContent(int tag) { - return Asn1Utilities.ParseContextBaseUniversal(_encryptedContent, 0, false, tag); + return Asn1Utilities.ParseContextBaseUniversal(m_encryptedContent, 0, false, tag); } } } diff --git a/crypto/src/asn1/cms/EnvelopedDataParser.cs b/crypto/src/asn1/cms/EnvelopedDataParser.cs
index a86608bb4..06e10c104 100644 --- a/crypto/src/asn1/cms/EnvelopedDataParser.cs +++ b/crypto/src/asn1/cms/EnvelopedDataParser.cs
@@ -2,7 +2,7 @@ using System; namespace Org.BouncyCastle.Asn1.Cms { - /** + /** * Produce an object suitable for an Asn1OutputStream. * <pre> * EnvelopedData ::= SEQUENCE { @@ -14,96 +14,96 @@ namespace Org.BouncyCastle.Asn1.Cms * } * </pre> */ - public class EnvelopedDataParser - { - private Asn1SequenceParser _seq; - private DerInteger _version; - private IAsn1Convertible _nextObject; - private bool _originatorInfoCalled; - - public EnvelopedDataParser( - Asn1SequenceParser seq) - { - this._seq = seq; - this._version = (DerInteger)seq.ReadObject(); - } - - public DerInteger Version - { - get { return _version; } - } - - public OriginatorInfo GetOriginatorInfo() - { - _originatorInfoCalled = true; - - if (_nextObject == null) - { - _nextObject = _seq.ReadObject(); - } - - if (_nextObject is Asn1TaggedObjectParser o) - { - if (o.HasContextTag(0)) - { - Asn1SequenceParser originatorInfo = (Asn1SequenceParser)o.ParseBaseUniversal(false, Asn1Tags.Sequence); - _nextObject = null; - return OriginatorInfo.GetInstance(originatorInfo.ToAsn1Object()); - } - } - - return null; - } - - public Asn1SetParser GetRecipientInfos() - { - if (!_originatorInfoCalled) - { - GetOriginatorInfo(); - } - - if (_nextObject == null) - { - _nextObject = _seq.ReadObject(); - } - - Asn1SetParser recipientInfos = (Asn1SetParser)_nextObject; - _nextObject = null; - return recipientInfos; - } - - public EncryptedContentInfoParser GetEncryptedContentInfo() - { - if (_nextObject == null) - { - _nextObject = _seq.ReadObject(); - } - - if (_nextObject != null) - { - Asn1SequenceParser o = (Asn1SequenceParser) _nextObject; - _nextObject = null; - return new EncryptedContentInfoParser(o); - } - - return null; - } - - public Asn1SetParser GetUnprotectedAttrs() - { - if (_nextObject == null) - { - _nextObject = _seq.ReadObject(); - } - - if (_nextObject != null) - { - Asn1TaggedObjectParser o = (Asn1TaggedObjectParser)_nextObject; - _nextObject = null; - return (Asn1SetParser)Asn1Utilities.ParseContextBaseUniversal(o, 1, false, Asn1Tags.SetOf); - } - - return null; - } - } + public class EnvelopedDataParser + { + private Asn1SequenceParser _seq; + private DerInteger _version; + private IAsn1Convertible _nextObject; + private bool _originatorInfoCalled; + + public EnvelopedDataParser( + Asn1SequenceParser seq) + { + this._seq = seq; + this._version = (DerInteger)seq.ReadObject(); + } + + public DerInteger Version + { + get { return _version; } + } + + public OriginatorInfo GetOriginatorInfo() + { + _originatorInfoCalled = true; + + if (_nextObject == null) + { + _nextObject = _seq.ReadObject(); + } + + if (_nextObject is Asn1TaggedObjectParser o) + { + if (o.HasContextTag(0)) + { + Asn1SequenceParser originatorInfo = (Asn1SequenceParser)o.ParseBaseUniversal(false, Asn1Tags.Sequence); + _nextObject = null; + return OriginatorInfo.GetInstance(originatorInfo.ToAsn1Object()); + } + } + + return null; + } + + public Asn1SetParser GetRecipientInfos() + { + if (!_originatorInfoCalled) + { + GetOriginatorInfo(); + } + + if (_nextObject == null) + { + _nextObject = _seq.ReadObject(); + } + + Asn1SetParser recipientInfos = (Asn1SetParser)_nextObject; + _nextObject = null; + return recipientInfos; + } + + public EncryptedContentInfoParser GetEncryptedContentInfo() + { + if (_nextObject == null) + { + _nextObject = _seq.ReadObject(); + } + + if (_nextObject != null) + { + Asn1SequenceParser o = (Asn1SequenceParser)_nextObject; + _nextObject = null; + return new EncryptedContentInfoParser(o); + } + + return null; + } + + public Asn1SetParser GetUnprotectedAttrs() + { + if (_nextObject == null) + { + _nextObject = _seq.ReadObject(); + } + + if (_nextObject != null) + { + Asn1TaggedObjectParser o = (Asn1TaggedObjectParser)_nextObject; + _nextObject = null; + return (Asn1SetParser)Asn1Utilities.ParseContextBaseUniversal(o, 1, false, Asn1Tags.SetOf); + } + + return null; + } + } } diff --git a/crypto/src/asn1/cms/KEKIdentifier.cs b/crypto/src/asn1/cms/KEKIdentifier.cs
index 36ab94f52..70ae8c438 100644 --- a/crypto/src/asn1/cms/KEKIdentifier.cs +++ b/crypto/src/asn1/cms/KEKIdentifier.cs
@@ -21,19 +21,18 @@ namespace Org.BouncyCastle.Asn1.Cms this.other = other; } - public KekIdentifier( - Asn1Sequence seq) + public KekIdentifier(Asn1Sequence seq) { - keyIdentifier = (Asn1OctetString) seq[0]; + keyIdentifier = (Asn1OctetString)seq[0]; switch (seq.Count) { case 1: break; case 2: - if (seq[1] is Asn1GeneralizedTime) + if (seq[1] is Asn1GeneralizedTime asn1GeneralizedTime) { - date = (Asn1GeneralizedTime) seq[1]; + date = asn1GeneralizedTime; } else { @@ -41,7 +40,7 @@ namespace Org.BouncyCastle.Asn1.Cms } break; case 3: - date = (Asn1GeneralizedTime) seq[1]; + date = (Asn1GeneralizedTime)seq[1]; other = OtherKeyAttribute.GetInstance(seq[2]); break; default: diff --git a/crypto/src/asn1/cms/RecipientKeyIdentifier.cs b/crypto/src/asn1/cms/RecipientKeyIdentifier.cs
index dea9ce09d..512025808 100644 --- a/crypto/src/asn1/cms/RecipientKeyIdentifier.cs +++ b/crypto/src/asn1/cms/RecipientKeyIdentifier.cs
@@ -37,20 +37,18 @@ namespace Org.BouncyCastle.Asn1.Cms this.other = other; } - public RecipientKeyIdentifier( - Asn1Sequence seq) + public RecipientKeyIdentifier(Asn1Sequence seq) { - subjectKeyIdentifier = Asn1OctetString.GetInstance( - seq[0]); + subjectKeyIdentifier = Asn1OctetString.GetInstance(seq[0]); switch(seq.Count) { case 1: break; case 2: - if (seq[1] is Asn1GeneralizedTime) + if (seq[1] is Asn1GeneralizedTime asn1GeneralizedTime) { - date = (Asn1GeneralizedTime)seq[1]; + date = asn1GeneralizedTime; } else { @@ -58,7 +56,7 @@ namespace Org.BouncyCastle.Asn1.Cms } break; case 3: - date = (Asn1GeneralizedTime)seq[1]; + date = (Asn1GeneralizedTime)seq[1]; other = OtherKeyAttribute.GetInstance(seq[2]); break; default: diff --git a/crypto/src/asn1/cms/SignedDataParser.cs b/crypto/src/asn1/cms/SignedDataParser.cs
index 64114f292..3afbe09f4 100644 --- a/crypto/src/asn1/cms/SignedDataParser.cs +++ b/crypto/src/asn1/cms/SignedDataParser.cs
@@ -5,7 +5,7 @@ using Org.BouncyCastle.Utilities; namespace Org.BouncyCastle.Asn1.Cms { - /** + /** * <pre> * SignedData ::= SEQUENCE { * version CMSVersion, @@ -17,102 +17,102 @@ namespace Org.BouncyCastle.Asn1.Cms * } * </pre> */ - public class SignedDataParser - { - private Asn1SequenceParser _seq; - private DerInteger _version; - private object _nextObject; - private bool _certsCalled; - private bool _crlsCalled; - - public static SignedDataParser GetInstance( - object o) - { - if (o is Asn1Sequence) - return new SignedDataParser(((Asn1Sequence)o).Parser); - - if (o is Asn1SequenceParser) - return new SignedDataParser((Asn1SequenceParser)o); + public class SignedDataParser + { + private Asn1SequenceParser _seq; + private DerInteger _version; + private object _nextObject; + private bool _certsCalled; + private bool _crlsCalled; + + public static SignedDataParser GetInstance( + object o) + { + if (o is Asn1Sequence) + return new SignedDataParser(((Asn1Sequence)o).Parser); + + if (o is Asn1SequenceParser) + return new SignedDataParser((Asn1SequenceParser)o); throw new IOException("unknown object encountered: " + Platform.GetTypeName(o)); - } - - public SignedDataParser( - Asn1SequenceParser seq) - { - this._seq = seq; - this._version = (DerInteger)seq.ReadObject(); - } - - public DerInteger Version - { - get { return _version; } - } - - public Asn1SetParser GetDigestAlgorithms() - { - return (Asn1SetParser)_seq.ReadObject(); - } - - public ContentInfoParser GetEncapContentInfo() - { - return new ContentInfoParser((Asn1SequenceParser)_seq.ReadObject()); - } - - public Asn1SetParser GetCertificates() - { - _certsCalled = true; - _nextObject = _seq.ReadObject(); - - if (_nextObject is Asn1TaggedObjectParser o) - { - if (o.HasContextTag(0)) - { - Asn1SetParser certs = (Asn1SetParser)o.ParseBaseUniversal(false, Asn1Tags.SetOf); - _nextObject = null; - return certs; - } - } - - return null; - } - - public Asn1SetParser GetCrls() - { - if (!_certsCalled) - throw new IOException("GetCerts() has not been called."); - - _crlsCalled = true; - - if (_nextObject == null) - { - _nextObject = _seq.ReadObject(); - } - - if (_nextObject is Asn1TaggedObjectParser o) - { - if (o.HasContextTag(1)) - { - Asn1SetParser crls = (Asn1SetParser)o.ParseBaseUniversal(false, Asn1Tags.SetOf); - _nextObject = null; - return crls; - } - } + } + + public SignedDataParser( + Asn1SequenceParser seq) + { + this._seq = seq; + this._version = (DerInteger)seq.ReadObject(); + } + + public DerInteger Version + { + get { return _version; } + } + + public Asn1SetParser GetDigestAlgorithms() + { + return (Asn1SetParser)_seq.ReadObject(); + } + + public ContentInfoParser GetEncapContentInfo() + { + return new ContentInfoParser((Asn1SequenceParser)_seq.ReadObject()); + } + + public Asn1SetParser GetCertificates() + { + _certsCalled = true; + _nextObject = _seq.ReadObject(); + + if (_nextObject is Asn1TaggedObjectParser o) + { + if (o.HasContextTag(0)) + { + Asn1SetParser certs = (Asn1SetParser)o.ParseBaseUniversal(false, Asn1Tags.SetOf); + _nextObject = null; + return certs; + } + } return null; } - public Asn1SetParser GetSignerInfos() - { - if (!_certsCalled || !_crlsCalled) - throw new IOException("GetCerts() and/or GetCrls() has not been called."); + public Asn1SetParser GetCrls() + { + if (!_certsCalled) + throw new IOException("GetCerts() has not been called."); + + _crlsCalled = true; + + if (_nextObject == null) + { + _nextObject = _seq.ReadObject(); + } - if (_nextObject == null) - { - _nextObject = _seq.ReadObject(); - } + if (_nextObject is Asn1TaggedObjectParser o) + { + if (o.HasContextTag(1)) + { + Asn1SetParser crls = (Asn1SetParser)o.ParseBaseUniversal(false, Asn1Tags.SetOf); + _nextObject = null; + return crls; + } + } - return (Asn1SetParser)_nextObject; - } - } + return null; + } + + public Asn1SetParser GetSignerInfos() + { + if (!_certsCalled || !_crlsCalled) + throw new IOException("GetCerts() and/or GetCrls() has not been called."); + + if (_nextObject == null) + { + _nextObject = _seq.ReadObject(); + } + + return (Asn1SetParser)_nextObject; + } + } } diff --git a/crypto/src/asn1/cms/Time.cs b/crypto/src/asn1/cms/Time.cs
index 7b6b49c30..19bc1a633 100644 --- a/crypto/src/asn1/cms/Time.cs +++ b/crypto/src/asn1/cms/Time.cs
@@ -31,7 +31,7 @@ namespace Org.BouncyCastle.Asn1.Cms public Time(Asn1GeneralizedTime generalizedTime) { - this.m_timeObject = generalizedTime ?? throw new ArgumentNullException(nameof(generalizedTime)); + m_timeObject = generalizedTime ?? throw new ArgumentNullException(nameof(generalizedTime)); } public Time(Asn1UtcTime utcTime) @@ -42,7 +42,7 @@ namespace Org.BouncyCastle.Asn1.Cms // Validate utcTime is in the appropriate year range utcTime.ToDateTime(2049); - this.m_timeObject = utcTime; + m_timeObject = utcTime; } /**