using System; using System.Collections; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms { // Token: 0x02001E0A RID: 7690 [Token(Token = "0x2001E0A")] public class CmsAuthenticatedDataStreamGenerator : CmsAuthenticatedGenerator { // Token: 0x0600C0D4 RID: 49364 RVA: 0x002B88FC File Offset: 0x002B6AFC [Token(Token = "0x600C0D4")] [Address(RVA = "0x2140F20", Offset = "0x213FF20", VA = "0x182140F20")] public CmsAuthenticatedDataStreamGenerator() { } // Token: 0x0600C0D5 RID: 49365 RVA: 0x002B8910 File Offset: 0x002B6B10 [Token(Token = "0x600C0D5")] [Address(RVA = "0x2140F80", Offset = "0x213FF80", VA = "0x182140F80")] public CmsAuthenticatedDataStreamGenerator(SecureRandom rand) : base(rand) { } // Token: 0x0600C0D6 RID: 49366 RVA: 0x002B8924 File Offset: 0x002B6B24 [Token(Token = "0x600C0D6")] [Address(RVA = "0x5AB430", Offset = "0x5AA430", VA = "0x1805AB430")] public void SetBufferSize(int bufferSize) { this._bufferSize = bufferSize; } // Token: 0x0600C0D7 RID: 49367 RVA: 0x002B8938 File Offset: 0x002B6B38 [Token(Token = "0x600C0D7")] [Address(RVA = "0x90C8E0", Offset = "0x90B8E0", VA = "0x18090C8E0")] public void SetBerEncodeRecipients(bool berEncodeRecipientSet) { this._berEncodeRecipientSet = berEncodeRecipientSet; } // Token: 0x0600C0D8 RID: 49368 RVA: 0x002B894C File Offset: 0x002B6B4C [Token(Token = "0x600C0D8")] [Address(RVA = "0x2141B00", Offset = "0x2140B00", VA = "0x182141B00")] private Stream Open(Stream outStr, string macOid, CipherKeyGenerator keyGen) { Asn1EncodableVector asn1EncodableVector; for (;;) { byte[] array = keyGen.GenerateKey(); KeyParameter keyParameter = ParameterUtilities.CreateKeyParameter(macOid, array); string text = this.ToString(); IList recipientInfoGenerators = this.recipientInfoGenerators; if (asn1EncodableVector != 0) { break; } int num = 0; ArrayTypeMismatchException ex; if (ex != 0) { } if (num == 0) { Stream stream; return stream; } } if (asn1EncodableVector == 0) { } if (asn1EncodableVector != 0) { Asn1Encodable[] array2 = new Asn1Encodable[1]; SecureRandom rand = this.rand; throw new ArrayTypeMismatchException(); } throw new NullReferenceException(); } // Token: 0x0600C0D9 RID: 49369 RVA: 0x002B8A00 File Offset: 0x002B6C00 [Token(Token = "0x600C0D9")] [Address(RVA = "0x2141E90", Offset = "0x2140E90", VA = "0x182141E90")] protected Stream Open(Stream outStr, AlgorithmIdentifier macAlgId, ICipherParameters cipherParameters, Asn1EncodableVector recipientInfos) { int num = 0; BerSequenceGenerator berSequenceGenerator = new BerSequenceGenerator(outStr); string text = berSequenceGenerator.ToString(); DerInteger derInteger = new DerInteger(AuthenticatedData.CalculateVersion(0)); BerSequenceGenerator berSequenceGenerator2; string text2 = berSequenceGenerator2.ToString(); IEnumerator enumerator; DerSetGenerator derSetGenerator; string text3; if (enumerator != 0) { if (num < enumerator) { num += num; num++; } if (enumerator == 0) { num += num; } if (enumerator == 0) { throw new NullReferenceException(); } text3 = derSetGenerator.ToString(); } if (text3 != 0) { } if (num == 0) { Stream rawOutputStream = derSetGenerator.GetRawOutputStream(); string text4 = berSequenceGenerator2.ToString(); BerSequenceGenerator berSequenceGenerator3; string text5 = berSequenceGenerator3.ToString(); IMac mac; MacSink macSink = new MacSink(mac); Stream stream; TeeOutputStream teeOutputStream = new TeeOutputStream(stream, macSink); CmsAuthenticatedDataStreamGenerator.CmsAuthenticatedDataOutputStream cmsAuthenticatedDataOutputStream; cmsAuthenticatedDataOutputStream.macStream = teeOutputStream; cmsAuthenticatedDataOutputStream.mac = mac; cmsAuthenticatedDataOutputStream.cGen = berSequenceGenerator; cmsAuthenticatedDataOutputStream.authGen = berSequenceGenerator2; cmsAuthenticatedDataOutputStream.eiGen = berSequenceGenerator3; throw new NullReferenceException(); } throw new NullReferenceException(); } // Token: 0x0600C0DA RID: 49370 RVA: 0x002B8B00 File Offset: 0x002B6D00 [Token(Token = "0x600C0DA")] [Address(RVA = "0x2142580", Offset = "0x2141580", VA = "0x182142580")] public Stream Open(Stream outStr, string encryptionOid) { CipherKeyGenerator keyGenerator = GeneratorUtilities.GetKeyGenerator(encryptionOid); SecureRandom rand = this.rand; int defaultStrength = keyGenerator.defaultStrength; KeyGenerationParameters keyGenerationParameters = new KeyGenerationParameters(rand, defaultStrength); keyGenerator.Init(keyGenerationParameters); return this.Open(outStr, encryptionOid, keyGenerator); } // Token: 0x0600C0DB RID: 49371 RVA: 0x002B8B40 File Offset: 0x002B6D40 [Token(Token = "0x600C0DB")] [Address(RVA = "0x2142490", Offset = "0x2141490", VA = "0x182142490")] public Stream Open(Stream outStr, string encryptionOid, int keySize) { CipherKeyGenerator keyGenerator = GeneratorUtilities.GetKeyGenerator(encryptionOid); KeyGenerationParameters keyGenerationParameters = new KeyGenerationParameters(this.rand, keySize); keyGenerator.Init(keyGenerationParameters); return this.Open(outStr, encryptionOid, keyGenerator); } // Token: 0x04007A1E RID: 31262 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4007A1E")] private int _bufferSize; // Token: 0x04007A1F RID: 31263 [FieldOffset(Offset = "0x2C")] [Token(Token = "0x4007A1F")] private bool _berEncodeRecipientSet; // Token: 0x02001E0B RID: 7691 [Token(Token = "0x2001E0B")] private class CmsAuthenticatedDataOutputStream : BaseOutputStream { // Token: 0x0600C0DC RID: 49372 RVA: 0x002B8B78 File Offset: 0x002B6D78 [Token(Token = "0x600C0DC")] [Address(RVA = "0x2141130", Offset = "0x2140130", VA = "0x182141130")] public CmsAuthenticatedDataOutputStream(Stream macStream, IMac mac, BerSequenceGenerator cGen, BerSequenceGenerator authGen, BerSequenceGenerator eiGen) { this.authGen = 0; this.macStream = macStream; this.cGen = cGen; this.eiGen = 0; this.mac = mac; } // Token: 0x0600C0DD RID: 49373 RVA: 0x002B8BB0 File Offset: 0x002B6DB0 [Token(Token = "0x600C0DD")] [Address(RVA = "0x21410D0", Offset = "0x21400D0", VA = "0x1821410D0", Slot = "30")] public override void WriteByte(byte b) { bool canRead = this.macStream.CanRead; } // Token: 0x0600C0DE RID: 49374 RVA: 0x002B8BD0 File Offset: 0x002B6DD0 [Token(Token = "0x600C0DE")] [Address(RVA = "0x2141100", Offset = "0x2140100", VA = "0x182141100", Slot = "29")] public override void Write(byte[] bytes, int off, int len) { bool canRead = this.macStream.CanRead; } // Token: 0x0600C0DF RID: 49375 RVA: 0x002B8BF0 File Offset: 0x002B6DF0 [Token(Token = "0x600C0DF")] [Address(RVA = "0x2140F90", Offset = "0x213FF90", VA = "0x182140F90", Slot = "15")] public override void Close() { Platform.Dispose(this.macStream); Stream rawOutputStream = this.eiGen.GetRawOutputStream(); byte[] array = MacUtilities.DoFinal(this.mac); BerSequenceGenerator berSequenceGenerator = this.authGen; DerOctetString derOctetString = new DerOctetString(array); string text = berSequenceGenerator.ToString(); Stream rawOutputStream2 = this.authGen.GetRawOutputStream(); Stream rawOutputStream3 = this.cGen.GetRawOutputStream(); base.Close(); } // Token: 0x04007A20 RID: 31264 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4007A20")] private readonly Stream macStream; // Token: 0x04007A21 RID: 31265 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4007A21")] private readonly IMac mac; // Token: 0x04007A22 RID: 31266 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4007A22")] private readonly BerSequenceGenerator cGen; // Token: 0x04007A23 RID: 31267 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4007A23")] private readonly BerSequenceGenerator authGen; // Token: 0x04007A24 RID: 31268 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4007A24")] private readonly BerSequenceGenerator eiGen; } } }