a
This commit is contained in:
+300
@@ -0,0 +1,300 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
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: 0x02001D36 RID: 7478
|
||||
[Token(Token = "0x2001D36")]
|
||||
public class CmsEnvelopedDataStreamGenerator : CmsEnvelopedGenerator
|
||||
{
|
||||
// Token: 0x0600BD3F RID: 48447 RVA: 0x002B0DBC File Offset: 0x002AEFBC
|
||||
[Token(Token = "0x600BD3F")]
|
||||
[Address(RVA = "0x16643D0", Offset = "0x16631D0", VA = "0x1816643D0")]
|
||||
public CmsEnvelopedDataStreamGenerator()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600BD40 RID: 48448 RVA: 0x002B0DD0 File Offset: 0x002AEFD0
|
||||
[Token(Token = "0x600BD40")]
|
||||
[Address(RVA = "0x1664430", Offset = "0x1663230", VA = "0x181664430")]
|
||||
public CmsEnvelopedDataStreamGenerator(SecureRandom rand)
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
this.recipientInfoGenerators = list;
|
||||
base..ctor();
|
||||
this.rand = rand;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD41 RID: 48449 RVA: 0x002B0DFC File Offset: 0x002AEFFC
|
||||
[Token(Token = "0x600BD41")]
|
||||
[Address(RVA = "0x52C070", Offset = "0x52AE70", VA = "0x18052C070")]
|
||||
public void SetBufferSize(int bufferSize)
|
||||
{
|
||||
this._bufferSize = bufferSize;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD42 RID: 48450 RVA: 0x002B0E10 File Offset: 0x002AF010
|
||||
[Token(Token = "0x600BD42")]
|
||||
[Address(RVA = "0x4508B0", Offset = "0x44F6B0", VA = "0x1804508B0")]
|
||||
public void SetBerEncodeRecipients(bool berEncodeRecipientSet)
|
||||
{
|
||||
this._berEncodeRecipientSet = berEncodeRecipientSet;
|
||||
}
|
||||
|
||||
// Token: 0x17001D54 RID: 7508
|
||||
// (get) Token: 0x0600BD43 RID: 48451 RVA: 0x002B0E24 File Offset: 0x002AF024
|
||||
[Token(Token = "0x17001D54")]
|
||||
private DerInteger Version
|
||||
{
|
||||
[Token(Token = "0x600BD43")]
|
||||
[Address(RVA = "0x16644E0", Offset = "0x16632E0", VA = "0x1816644E0")]
|
||||
get
|
||||
{
|
||||
if (this._originatorInfo != (ulong)0L || this._unprotectedAttributes == (ulong)0L)
|
||||
{
|
||||
}
|
||||
return new DerInteger(2);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BD44 RID: 48452 RVA: 0x002B0E50 File Offset: 0x002AF050
|
||||
[Token(Token = "0x600BD44")]
|
||||
[Address(RVA = "0x1664040", Offset = "0x1662E40", VA = "0x181664040")]
|
||||
private Stream Open(Stream outStream, string encryptionOid, CipherKeyGenerator keyGen)
|
||||
{
|
||||
Asn1EncodableVector asn1EncodableVector;
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] array = keyGen.GenerateKey();
|
||||
KeyParameter keyParameter = ParameterUtilities.CreateKeyParameter(encryptionOid, array);
|
||||
string text = this.ToString();
|
||||
IList recipientInfoGenerators = this.recipientInfoGenerators;
|
||||
if (asn1EncodableVector != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
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: 0x0600BD45 RID: 48453 RVA: 0x002B0F04 File Offset: 0x002AF104
|
||||
[Token(Token = "0x600BD45")]
|
||||
[Address(RVA = "0x1663810", Offset = "0x1662610", VA = "0x181663810")]
|
||||
private Stream Open(Stream outStream, AlgorithmIdentifier encAlgID, ICipherParameters cipherParameters, Asn1EncodableVector recipientInfos)
|
||||
{
|
||||
int num = 0;
|
||||
BerSequenceGenerator berSequenceGenerator = new BerSequenceGenerator(outStream);
|
||||
string text = berSequenceGenerator.ToString();
|
||||
if (this._originatorInfo != (ulong)0L || this._unprotectedAttributes != (ulong)0L)
|
||||
{
|
||||
}
|
||||
DerInteger derInteger = new DerInteger(num);
|
||||
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 == 0)
|
||||
{
|
||||
Stream rawOutputStream = derSetGenerator.GetRawOutputStream();
|
||||
BerSequenceGenerator berSequenceGenerator3;
|
||||
string text4 = berSequenceGenerator3.ToString();
|
||||
string text5 = berSequenceGenerator3.ToString();
|
||||
int num2 = 0;
|
||||
SecureRandom rand = this.rand;
|
||||
ParametersWithRandom parametersWithRandom = new ParametersWithRandom(num2, rand);
|
||||
Stream stream;
|
||||
int num3;
|
||||
IBufferedCipher bufferedCipher;
|
||||
CipherStream cipherStream = new CipherStream(stream, num3, bufferedCipher);
|
||||
num3 = 0;
|
||||
CmsEnvelopedDataStreamGenerator.CmsEnvelopedDataOutputStream cmsEnvelopedDataOutputStream;
|
||||
cmsEnvelopedDataOutputStream._outer = cmsEnvelopedDataOutputStream;
|
||||
cmsEnvelopedDataOutputStream._out = cipherStream;
|
||||
cmsEnvelopedDataOutputStream._cGen = berSequenceGenerator;
|
||||
cmsEnvelopedDataOutputStream._envGen = cmsEnvelopedDataOutputStream;
|
||||
cmsEnvelopedDataOutputStream._eiGen = berSequenceGenerator3;
|
||||
CmsException ex = new CmsException("exception decoding algorithm parameters.", num3);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BD46 RID: 48454 RVA: 0x002B104C File Offset: 0x002AF24C
|
||||
[Token(Token = "0x600BD46")]
|
||||
[Address(RVA = "0x1663E60", Offset = "0x1662C60", VA = "0x181663E60")]
|
||||
public Stream Open(Stream outStream, 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(outStream, encryptionOid, keyGenerator);
|
||||
}
|
||||
|
||||
// Token: 0x0600BD47 RID: 48455 RVA: 0x002B108C File Offset: 0x002AF28C
|
||||
[Token(Token = "0x600BD47")]
|
||||
[Address(RVA = "0x1663F50", Offset = "0x1662D50", VA = "0x181663F50")]
|
||||
public Stream Open(Stream outStream, string encryptionOid, int keySize)
|
||||
{
|
||||
CipherKeyGenerator keyGenerator = GeneratorUtilities.GetKeyGenerator(encryptionOid);
|
||||
KeyGenerationParameters keyGenerationParameters = new KeyGenerationParameters(this.rand, keySize);
|
||||
keyGenerator.Init(keyGenerationParameters);
|
||||
return this.Open(outStream, encryptionOid, keyGenerator);
|
||||
}
|
||||
|
||||
// Token: 0x0400787F RID: 30847
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400787F")]
|
||||
private object _originatorInfo;
|
||||
|
||||
// Token: 0x04007880 RID: 30848
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007880")]
|
||||
private object _unprotectedAttributes;
|
||||
|
||||
// Token: 0x04007881 RID: 30849
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007881")]
|
||||
private int _bufferSize;
|
||||
|
||||
// Token: 0x04007882 RID: 30850
|
||||
[FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x4007882")]
|
||||
private bool _berEncodeRecipientSet;
|
||||
|
||||
// Token: 0x02001D37 RID: 7479
|
||||
[Token(Token = "0x2001D37")]
|
||||
private class CmsEnvelopedDataOutputStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x0600BD48 RID: 48456 RVA: 0x002B10C4 File Offset: 0x002AF2C4
|
||||
[Token(Token = "0x600BD48")]
|
||||
[Address(RVA = "0x165FAC0", Offset = "0x165E8C0", VA = "0x18165FAC0")]
|
||||
public CmsEnvelopedDataOutputStream(CmsEnvelopedGenerator outer, CipherStream outStream, BerSequenceGenerator cGen, BerSequenceGenerator envGen, BerSequenceGenerator eiGen)
|
||||
{
|
||||
this._envGen = 0;
|
||||
this._outer = outer;
|
||||
this._cGen = cGen;
|
||||
this._eiGen = 0;
|
||||
this._out = outStream;
|
||||
}
|
||||
|
||||
// Token: 0x0600BD49 RID: 48457 RVA: 0x002B10FC File Offset: 0x002AF2FC
|
||||
[Token(Token = "0x600BD49")]
|
||||
[Address(RVA = "0x1663250", Offset = "0x1662050", VA = "0x181663250", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
((IDisposable)this._out).Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x0600BD4A RID: 48458 RVA: 0x002B111C File Offset: 0x002AF31C
|
||||
[Token(Token = "0x600BD4A")]
|
||||
[Address(RVA = "0x1663280", Offset = "0x1662080", VA = "0x181663280", Slot = "29")]
|
||||
public override void Write(byte[] bytes, int off, int len)
|
||||
{
|
||||
int num = this._out.Read(bytes, off, len);
|
||||
}
|
||||
|
||||
// Token: 0x0600BD4B RID: 48459 RVA: 0x002B1140 File Offset: 0x002AF340
|
||||
[Token(Token = "0x600BD4B")]
|
||||
[Address(RVA = "0x1663090", Offset = "0x1661E90", VA = "0x181663090", Slot = "15")]
|
||||
public override void Close()
|
||||
{
|
||||
Platform.Dispose(this._out);
|
||||
Stream rawOutputStream = this._eiGen.GetRawOutputStream();
|
||||
if (this._outer.unprotectedAttributeGenerator != 0)
|
||||
{
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
Asn1EncodableVector asn1EncodableVector;
|
||||
BerSet berSet = new BerSet(asn1EncodableVector);
|
||||
BerSequenceGenerator envGen = this._envGen;
|
||||
int num;
|
||||
DerTaggedObject derTaggedObject = new DerTaggedObject(num != 0, 1, berSet);
|
||||
num = 0;
|
||||
string text = envGen.ToString();
|
||||
}
|
||||
Stream rawOutputStream2 = this._envGen.GetRawOutputStream();
|
||||
Stream rawOutputStream3 = this._cGen.GetRawOutputStream();
|
||||
base.Close();
|
||||
}
|
||||
|
||||
// Token: 0x04007883 RID: 30851
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007883")]
|
||||
private readonly CmsEnvelopedGenerator _outer;
|
||||
|
||||
// Token: 0x04007884 RID: 30852
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007884")]
|
||||
private readonly CipherStream _out;
|
||||
|
||||
// Token: 0x04007885 RID: 30853
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007885")]
|
||||
private readonly BerSequenceGenerator _cGen;
|
||||
|
||||
// Token: 0x04007886 RID: 30854
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007886")]
|
||||
private readonly BerSequenceGenerator _envGen;
|
||||
|
||||
// Token: 0x04007887 RID: 30855
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007887")]
|
||||
private readonly BerSequenceGenerator _eiGen;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user