using System; using System.Collections; using System.IO; using System.Runtime.InteropServices; 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: 0x0200174D RID: 5965 [Token(Token = "0x200174D")] [StructLayout(3)] public class CmsAuthenticatedDataStreamGenerator : CmsAuthenticatedGenerator { // Token: 0x0600A12C RID: 41260 RVA: 0x00257BD8 File Offset: 0x00255DD8 [Token(Token = "0x600A12C")] [Address(RVA = "0x1C71F20", Offset = "0x1C70920", VA = "0x181C71F20")] public CmsAuthenticatedDataStreamGenerator() { } // Token: 0x0600A12D RID: 41261 RVA: 0x00257BEC File Offset: 0x00255DEC [Token(Token = "0x600A12D")] [Address(RVA = "0x1C71F80", Offset = "0x1C70980", VA = "0x181C71F80")] public CmsAuthenticatedDataStreamGenerator(SecureRandom rand) : base(rand) { } // Token: 0x0600A12E RID: 41262 RVA: 0x00257C00 File Offset: 0x00255E00 [Token(Token = "0x600A12E")] [Address(RVA = "0x4D2650", Offset = "0x4D1050", VA = "0x1804D2650")] public void SetBufferSize(int bufferSize) { this._bufferSize = bufferSize; } // Token: 0x0600A12F RID: 41263 RVA: 0x00257C14 File Offset: 0x00255E14 [Token(Token = "0x600A12F")] [Address(RVA = "0x6A84B0", Offset = "0x6A6EB0", VA = "0x1806A84B0")] public void SetBerEncodeRecipients(bool berEncodeRecipientSet) { this._berEncodeRecipientSet = berEncodeRecipientSet; } // Token: 0x0600A130 RID: 41264 RVA: 0x00257C28 File Offset: 0x00255E28 [Token(Token = "0x600A130")] [Address(RVA = "0x1C72B00", Offset = "0x1C71500", VA = "0x181C72B00")] 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; int num2 = 0; ArrayTypeMismatchException ex; if (ex != 0) { } if (num != -1) { } if (num2 == 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: 0x0600A131 RID: 41265 RVA: 0x00257CE8 File Offset: 0x00255EE8 [Token(Token = "0x600A131")] [Address(RVA = "0x1C72EB0", Offset = "0x1C718B0", VA = "0x181C72EB0")] 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(); if (this._berEncodeRecipientSet) { } 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 != -1) { } if (num == 0) { Stream rawOutputStream = derSetGenerator.GetRawOutputStream(); string text4 = berSequenceGenerator2.ToString(); BerSequenceGenerator berSequenceGenerator3; string text5 = berSequenceGenerator3.ToString(); BerOctetStringGenerator berOctetStringGenerator; Stream rawOutputStream2 = berOctetStringGenerator.GetRawOutputStream(); 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: 0x0600A132 RID: 41266 RVA: 0x00257E08 File Offset: 0x00256008 [Token(Token = "0x600A132")] [Address(RVA = "0x1C73630", Offset = "0x1C72030", VA = "0x181C73630")] 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: 0x0600A133 RID: 41267 RVA: 0x00257E48 File Offset: 0x00256048 [Token(Token = "0x600A133")] [Address(RVA = "0x1C73540", Offset = "0x1C71F40", VA = "0x181C73540")] 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: 0x04006A22 RID: 27170 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4006A22")] private int _bufferSize; // Token: 0x04006A23 RID: 27171 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x4006A23")] private bool _berEncodeRecipientSet; // Token: 0x0200174E RID: 5966 [Token(Token = "0x200174E")] private class CmsAuthenticatedDataOutputStream : BaseOutputStream { // Token: 0x0600A134 RID: 41268 RVA: 0x00257E80 File Offset: 0x00256080 [Token(Token = "0x600A134")] [Address(RVA = "0x1C72130", Offset = "0x1C70B30", VA = "0x181C72130")] 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: 0x0600A135 RID: 41269 RVA: 0x00257EB8 File Offset: 0x002560B8 [Token(Token = "0x600A135")] [Address(RVA = "0x1C720D0", Offset = "0x1C70AD0", VA = "0x181C720D0", Slot = "30")] public override void WriteByte(byte b) { bool canRead = this.macStream.CanRead; } // Token: 0x0600A136 RID: 41270 RVA: 0x00257ED8 File Offset: 0x002560D8 [Token(Token = "0x600A136")] [Address(RVA = "0x1C72100", Offset = "0x1C70B00", VA = "0x181C72100", Slot = "29")] public override void Write(byte[] bytes, int off, int len) { bool canRead = this.macStream.CanRead; } // Token: 0x0600A137 RID: 41271 RVA: 0x00257EF8 File Offset: 0x002560F8 [Token(Token = "0x600A137")] [Address(RVA = "0x1C71F90", Offset = "0x1C70990", VA = "0x181C71F90", 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: 0x04006A24 RID: 27172 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4006A24")] private readonly Stream macStream; // Token: 0x04006A25 RID: 27173 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4006A25")] private readonly IMac mac; // Token: 0x04006A26 RID: 27174 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4006A26")] private readonly BerSequenceGenerator cGen; // Token: 0x04006A27 RID: 27175 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4006A27")] private readonly BerSequenceGenerator authGen; // Token: 0x04006A28 RID: 27176 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4006A28")] private readonly BerSequenceGenerator eiGen; } } }