a
This commit is contained in:
+187
@@ -0,0 +1,187 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B03 RID: 6915
|
||||
[Token(Token = "0x2001B03")]
|
||||
public class CertificateRequest
|
||||
{
|
||||
// Token: 0x0600AC0E RID: 44046 RVA: 0x00257108 File Offset: 0x00255308
|
||||
[Token(Token = "0x600AC0E")]
|
||||
[Address(RVA = "0x4A7B10", Offset = "0x4A6910", VA = "0x1804A7B10")]
|
||||
public CertificateRequest(byte[] certificateTypes, IList supportedSignatureAlgorithms, IList certificateAuthorities)
|
||||
{
|
||||
this.mCertificateTypes = certificateTypes;
|
||||
this.mSupportedSignatureAlgorithms = supportedSignatureAlgorithms;
|
||||
this.mCertificateAuthorities = certificateAuthorities;
|
||||
}
|
||||
|
||||
// Token: 0x17001B4E RID: 6990
|
||||
// (get) Token: 0x0600AC0F RID: 44047 RVA: 0x00257130 File Offset: 0x00255330
|
||||
[Token(Token = "0x17001B4E")]
|
||||
public virtual byte[] CertificateTypes
|
||||
{
|
||||
[Token(Token = "0x600AC0F")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateTypes;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B4F RID: 6991
|
||||
// (get) Token: 0x0600AC10 RID: 44048 RVA: 0x00257144 File Offset: 0x00255344
|
||||
[Token(Token = "0x17001B4F")]
|
||||
public virtual IList SupportedSignatureAlgorithms
|
||||
{
|
||||
[Token(Token = "0x600AC10")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSupportedSignatureAlgorithms;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B50 RID: 6992
|
||||
// (get) Token: 0x0600AC11 RID: 44049 RVA: 0x00257158 File Offset: 0x00255358
|
||||
[Token(Token = "0x17001B50")]
|
||||
public virtual IList CertificateAuthorities
|
||||
{
|
||||
[Token(Token = "0x600AC11")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateAuthorities;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC12 RID: 44050 RVA: 0x0025716C File Offset: 0x0025536C
|
||||
[Token(Token = "0x600AC12")]
|
||||
[Address(RVA = "0x18A8A10", Offset = "0x18A7810", VA = "0x1818A8A10", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
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_F9;
|
||||
}
|
||||
int num4 = 0;
|
||||
if (num < num4)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array2;
|
||||
int num5 = array2.Length;
|
||||
num5 += 2;
|
||||
num += num5;
|
||||
array2 += array2;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_105;
|
||||
}
|
||||
if (num == -1 || "{il2cpp array field local25->}" == (ulong)190L)
|
||||
{
|
||||
}
|
||||
TlsUtilities.CheckUint16(num);
|
||||
TlsUtilities.WriteUint16(num, output);
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
if (1 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
return;
|
||||
IL_F9:
|
||||
throw new NullReferenceException();
|
||||
IL_105:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC13 RID: 44051 RVA: 0x00257284 File Offset: 0x00255484
|
||||
[Token(Token = "0x600AC13")]
|
||||
[Address(RVA = "0x18A8FC0", Offset = "0x18A7DC0", VA = "0x1818A8FC0")]
|
||||
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: 0x04006D0A RID: 27914
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D0A")]
|
||||
protected readonly byte[] mCertificateTypes;
|
||||
|
||||
// Token: 0x04006D0B RID: 27915
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D0B")]
|
||||
protected readonly IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006D0C RID: 27916
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D0C")]
|
||||
protected readonly IList mCertificateAuthorities;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user