Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Tls/TlsMac.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

172 lines
4.8 KiB
C#

using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
{
// Token: 0x02001B7F RID: 7039
[Token(Token = "0x2001B7F")]
public class TlsMac
{
// Token: 0x0600AF2E RID: 44846 RVA: 0x002614CC File Offset: 0x0025F6CC
[Token(Token = "0x600AF2E")]
[Address(RVA = "0x198B610", Offset = "0x198A410", VA = "0x18198B610")]
public TlsMac(TlsContext context, IDigest digest, byte[] key, int keyOff, int keyLen)
{
this.context = context;
KeyParameter keyParameter;
byte[] array = Arrays.Clone(keyParameter.GetKey());
this.secret = array;
if (digest != 0)
{
}
this.digestBlockSize = (int)((uint)128);
this.digestOverhead = (int)((uint)16);
if (!TlsUtilities.IsSsl(context))
{
HMac hmac = new HMac(digest);
this.mac = hmac;
}
Ssl3Mac ssl3Mac;
ssl3Mac.digest = digest;
ssl3Mac.padLength = (int)((uint)48);
this.mac = ssl3Mac;
if (ssl3Mac == (ulong)20L)
{
this.digestOverhead = (int)((ulong)4L);
}
IMac mac = this.mac;
IMac mac2 = this.mac;
this.macLength = ssl3Mac;
int num = Math.Min(this.macLength, 10);
this.macLength = num;
}
// Token: 0x17001BB7 RID: 7095
// (get) Token: 0x0600AF2F RID: 44847 RVA: 0x00261590 File Offset: 0x0025F790
[Token(Token = "0x17001BB7")]
public virtual byte[] MacSecret
{
[Token(Token = "0x600AF2F")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "4")]
get
{
return this.secret;
}
}
// Token: 0x17001BB8 RID: 7096
// (get) Token: 0x0600AF30 RID: 44848 RVA: 0x002615A4 File Offset: 0x0025F7A4
[Token(Token = "0x17001BB8")]
public virtual int Size
{
[Token(Token = "0x600AF30")]
[Address(RVA = "0x4730E0", Offset = "0x471EE0", VA = "0x1804730E0", Slot = "5")]
get
{
return this.macLength;
}
}
// Token: 0x0600AF31 RID: 44849 RVA: 0x002615B8 File Offset: 0x0025F7B8
[Token(Token = "0x600AF31")]
[Address(RVA = "0x198B350", Offset = "0x198A150", VA = "0x18198B350", Slot = "6")]
public virtual byte[] CalculateMac(long seqNo, byte type, byte[] message, int offset, int length)
{
TlsContext tlsContext = this.context;
bool flag;
if (flag)
{
}
int num = 0;
byte[] array = new byte[13];
int num2 = 0;
TlsUtilities.WriteUint64(seqNo, array, num2);
TlsUtilities.WriteUint8(type, array, 8);
if (num == 0)
{
}
IMac mac = this.mac;
int length2 = array.Length;
IMac mac2 = this.mac;
return MacUtilities.DoFinal(this.mac);
}
// Token: 0x0600AF32 RID: 44850 RVA: 0x00261624 File Offset: 0x0025F824
[Token(Token = "0x600AF32")]
[Address(RVA = "0x198B120", Offset = "0x1989F20", VA = "0x18198B120", Slot = "7")]
public virtual byte[] CalculateMacConstantTime(long seqNo, byte type, byte[] message, int offset, int length, int fullLength, byte[] dummyData)
{
int size = this.Size;
bool flag = TlsUtilities.IsSsl(this.context);
byte[] array;
byte[] array2;
array -= array2;
int num = 0;
IMac mac = this.mac;
num += num;
num++;
IMac mac2 = this.mac;
num += 4;
num += 19;
IMac mac3 = this.mac;
throw new NullReferenceException();
}
// Token: 0x0600AF33 RID: 44851 RVA: 0x00261684 File Offset: 0x0025F884
[Token(Token = "0x600AF33")]
[Address(RVA = "0x198B570", Offset = "0x198A370", VA = "0x18198B570", Slot = "8")]
protected virtual int GetDigestBlockCount(int inputLength)
{
int num = this.digestOverhead;
return num + inputLength;
}
// Token: 0x0600AF34 RID: 44852 RVA: 0x002616A0 File Offset: 0x0025F8A0
[Token(Token = "0x600AF34")]
[Address(RVA = "0x198B580", Offset = "0x198A380", VA = "0x18198B580", Slot = "9")]
protected virtual byte[] Truncate(byte[] bs)
{
int num = this.macLength;
if (bs.Length > num)
{
return Arrays.CopyOf(bs, num);
}
return bs;
}
// Token: 0x0400701D RID: 28701
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400701D")]
protected readonly TlsContext context;
// Token: 0x0400701E RID: 28702
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400701E")]
protected readonly byte[] secret;
// Token: 0x0400701F RID: 28703
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400701F")]
protected readonly IMac mac;
// Token: 0x04007020 RID: 28704
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4007020")]
protected readonly int digestBlockSize;
// Token: 0x04007021 RID: 28705
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4007021")]
protected readonly int digestOverhead;
// Token: 0x04007022 RID: 28706
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4007022")]
protected readonly int macLength;
}
}