Files
2026-04-08 23:40:05 +02:00

269 lines
9.2 KiB
C#

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;
}
}
}