Files
2026-04-10 22:50:51 +02:00

255 lines
8.7 KiB
C#

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: 0x02001D2A RID: 7466
[Token(Token = "0x2001D2A")]
public class CmsAuthenticatedDataStreamGenerator : CmsAuthenticatedGenerator
{
// Token: 0x0600BD06 RID: 48390 RVA: 0x002B0094 File Offset: 0x002AE294
[Token(Token = "0x600BD06")]
[Address(RVA = "0x165F8B0", Offset = "0x165E6B0", VA = "0x18165F8B0")]
public CmsAuthenticatedDataStreamGenerator()
{
}
// Token: 0x0600BD07 RID: 48391 RVA: 0x002B00A8 File Offset: 0x002AE2A8
[Token(Token = "0x600BD07")]
[Address(RVA = "0x165F910", Offset = "0x165E710", VA = "0x18165F910")]
public CmsAuthenticatedDataStreamGenerator(SecureRandom rand)
: base(rand)
{
}
// Token: 0x0600BD08 RID: 48392 RVA: 0x002B00BC File Offset: 0x002AE2BC
[Token(Token = "0x600BD08")]
[Address(RVA = "0x42EFF0", Offset = "0x42DDF0", VA = "0x18042EFF0")]
public void SetBufferSize(int bufferSize)
{
this._bufferSize = bufferSize;
}
// Token: 0x0600BD09 RID: 48393 RVA: 0x002B00D0 File Offset: 0x002AE2D0
[Token(Token = "0x600BD09")]
[Address(RVA = "0x431D50", Offset = "0x430B50", VA = "0x180431D50")]
public void SetBerEncodeRecipients(bool berEncodeRecipientSet)
{
this._berEncodeRecipientSet = berEncodeRecipientSet;
}
// Token: 0x0600BD0A RID: 48394 RVA: 0x002B00E4 File Offset: 0x002AE2E4
[Token(Token = "0x600BD0A")]
[Address(RVA = "0x1660490", Offset = "0x165F290", VA = "0x181660490")]
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: 0x0600BD0B RID: 48395 RVA: 0x002B0198 File Offset: 0x002AE398
[Token(Token = "0x600BD0B")]
[Address(RVA = "0x1660820", Offset = "0x165F620", VA = "0x181660820")]
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: 0x0600BD0C RID: 48396 RVA: 0x002B0298 File Offset: 0x002AE498
[Token(Token = "0x600BD0C")]
[Address(RVA = "0x1660F10", Offset = "0x165FD10", VA = "0x181660F10")]
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: 0x0600BD0D RID: 48397 RVA: 0x002B02D8 File Offset: 0x002AE4D8
[Token(Token = "0x600BD0D")]
[Address(RVA = "0x1660E20", Offset = "0x165FC20", VA = "0x181660E20")]
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: 0x04007865 RID: 30821
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007865")]
private int _bufferSize;
// Token: 0x04007866 RID: 30822
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4007866")]
private bool _berEncodeRecipientSet;
// Token: 0x02001D2B RID: 7467
[Token(Token = "0x2001D2B")]
private class CmsAuthenticatedDataOutputStream : BaseOutputStream
{
// Token: 0x0600BD0E RID: 48398 RVA: 0x002B0310 File Offset: 0x002AE510
[Token(Token = "0x600BD0E")]
[Address(RVA = "0x165FAC0", Offset = "0x165E8C0", VA = "0x18165FAC0")]
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: 0x0600BD0F RID: 48399 RVA: 0x002B0348 File Offset: 0x002AE548
[Token(Token = "0x600BD0F")]
[Address(RVA = "0x165FA60", Offset = "0x165E860", VA = "0x18165FA60", Slot = "30")]
public override void WriteByte(byte b)
{
bool canRead = this.macStream.CanRead;
}
// Token: 0x0600BD10 RID: 48400 RVA: 0x002B0368 File Offset: 0x002AE568
[Token(Token = "0x600BD10")]
[Address(RVA = "0x165FA90", Offset = "0x165E890", VA = "0x18165FA90", Slot = "29")]
public override void Write(byte[] bytes, int off, int len)
{
bool canRead = this.macStream.CanRead;
}
// Token: 0x0600BD11 RID: 48401 RVA: 0x002B0388 File Offset: 0x002AE588
[Token(Token = "0x600BD11")]
[Address(RVA = "0x165F920", Offset = "0x165E720", VA = "0x18165F920", 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: 0x04007867 RID: 30823
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007867")]
private readonly Stream macStream;
// Token: 0x04007868 RID: 30824
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4007868")]
private readonly IMac mac;
// Token: 0x04007869 RID: 30825
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4007869")]
private readonly BerSequenceGenerator cGen;
// Token: 0x0400786A RID: 30826
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x400786A")]
private readonly BerSequenceGenerator authGen;
// Token: 0x0400786B RID: 30827
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400786B")]
private readonly BerSequenceGenerator eiGen;
}
}
}