Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Tls/CertificateRequest.cs
T
2026-04-08 23:40:05 +02:00

202 lines
5.4 KiB
C#

using System;
using System.Collections;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
{
// Token: 0x02001526 RID: 5414
[Token(Token = "0x2001526")]
[StructLayout(3)]
public class CertificateRequest
{
// Token: 0x06009034 RID: 36916 RVA: 0x001FFA60 File Offset: 0x001FDC60
[Token(Token = "0x6009034")]
[Address(RVA = "0x74BD80", Offset = "0x74A780", VA = "0x18074BD80")]
public CertificateRequest(byte[] certificateTypes, IList supportedSignatureAlgorithms, IList certificateAuthorities)
{
this.mCertificateTypes = certificateTypes;
this.mSupportedSignatureAlgorithms = supportedSignatureAlgorithms;
this.mCertificateAuthorities = certificateAuthorities;
}
// Token: 0x1700174D RID: 5965
// (get) Token: 0x06009035 RID: 36917 RVA: 0x001FFA88 File Offset: 0x001FDC88
[Token(Token = "0x1700174D")]
public virtual byte[] CertificateTypes
{
[Token(Token = "0x6009035")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
get
{
return this.mCertificateTypes;
}
}
// Token: 0x1700174E RID: 5966
// (get) Token: 0x06009036 RID: 36918 RVA: 0x001FFA9C File Offset: 0x001FDC9C
[Token(Token = "0x1700174E")]
public virtual IList SupportedSignatureAlgorithms
{
[Token(Token = "0x6009036")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
get
{
return this.mSupportedSignatureAlgorithms;
}
}
// Token: 0x1700174F RID: 5967
// (get) Token: 0x06009037 RID: 36919 RVA: 0x001FFAB0 File Offset: 0x001FDCB0
[Token(Token = "0x1700174F")]
public virtual IList CertificateAuthorities
{
[Token(Token = "0x6009037")]
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "6")]
get
{
return this.mCertificateAuthorities;
}
}
// Token: 0x06009038 RID: 36920 RVA: 0x001FFAC4 File Offset: 0x001FDCC4
[Token(Token = "0x6009038")]
[Address(RVA = "0x1E75270", Offset = "0x1E73C70", VA = "0x181E75270", Slot = "7")]
public virtual void Encode(Stream output)
{
for (;;)
{
int num = 0;
byte[] array = this.mCertificateTypes;
if (array != 0 && array.Length != num)
{
TlsUtilities.WriteUint8ArrayWithUint8Length(array, output);
}
TlsUtilities.WriteUint8(0, output);
IList list = this.mSupportedSignatureAlgorithms;
if (list != 0)
{
int num2 = 0;
TlsUtilities.EncodeSupportedSignatureAlgorithms(list, num2 != 0, output);
}
if (this.mCertificateAuthorities == 0)
{
break;
}
IList list2 = this.mCertificateAuthorities;
IList list3 = this.mCertificateAuthorities;
IList list4;
if (list4 != 0)
{
if (num < list4)
{
num += num;
num++;
}
ulong num3;
list4 += num3;
if (list4 == 0 || list4 == 0)
{
goto IL_F0;
}
int num4 = 0;
if (num < num4)
{
num += num;
num++;
}
byte[] array2;
int num5 = array2.Length;
num5 += 2;
num += num5;
array2 += array2;
}
if (num == -1)
{
goto IL_C5;
}
TlsUtilities.CheckUint16(num);
TlsUtilities.WriteUint16(num, output);
if (num != 0)
{
goto IL_C5;
}
IL_C9:
num++;
if (num != 0)
{
}
if (num != -1)
{
}
if (num == 0)
{
break;
}
continue;
IL_C5:
if (num == 0)
{
goto IL_C9;
}
goto IL_FC;
}
TlsUtilities.WriteUint16(0, output);
return;
IL_F0:
throw new NullReferenceException();
IL_FC:
throw new NullReferenceException();
}
// Token: 0x06009039 RID: 36921 RVA: 0x001FFBD4 File Offset: 0x001FDDD4
[Token(Token = "0x6009039")]
[Address(RVA = "0x1E75850", Offset = "0x1E74250", VA = "0x181E75850")]
public static CertificateRequest Parse(TlsContext context, Stream input)
{
byte[] array = new byte[(int)TlsUtilities.ReadUint8(input)];
int num = 0;
byte b = TlsUtilities.ReadUint8(input);
num++;
IList list;
if (TlsUtilities.IsTlsV12(context))
{
list = TlsUtilities.ParseSupportedSignatureAlgorithms(false, input);
}
IList list2 = Platform.CreateArrayList();
int num2;
MemoryStream memoryStream = new MemoryStream(TlsUtilities.ReadOpaque16(input), num2 != 0);
num2 = 0;
long length = memoryStream.Length;
bool canWrite = memoryStream.CanWrite;
if (length < (canWrite ? 1L : 0L))
{
X509Name instance = X509Name.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadOpaque16(memoryStream)));
}
CertificateRequest certificateRequest;
certificateRequest.mCertificateAuthorities = list2;
certificateRequest.mCertificateTypes = array;
certificateRequest.mSupportedSignatureAlgorithms = list;
return certificateRequest;
}
// Token: 0x04005EC7 RID: 24263
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005EC7")]
protected readonly byte[] mCertificateTypes;
// Token: 0x04005EC8 RID: 24264
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4005EC8")]
protected readonly IList mSupportedSignatureAlgorithms;
// Token: 0x04005EC9 RID: 24265
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4005EC9")]
protected readonly IList mCertificateAuthorities;
}
}