Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Tls/TlsMac.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

168 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: 0x02001C5F RID: 7263
[Token(Token = "0x2001C5F")]
public class TlsMac
{
// Token: 0x0600B2FC RID: 45820 RVA: 0x0026A66C File Offset: 0x0026886C
[Token(Token = "0x600B2FC")]
[Address(RVA = "0x4A9CB0", Offset = "0x4A8CB0", VA = "0x1804A9CB0")]
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: 0x17001C54 RID: 7252
// (get) Token: 0x0600B2FD RID: 45821 RVA: 0x0026A730 File Offset: 0x00268930
[Token(Token = "0x17001C54")]
public virtual byte[] MacSecret
{
[Token(Token = "0x600B2FD")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "4")]
get
{
return this.secret;
}
}
// Token: 0x17001C55 RID: 7253
// (get) Token: 0x0600B2FE RID: 45822 RVA: 0x0026A744 File Offset: 0x00268944
[Token(Token = "0x17001C55")]
public virtual int Size
{
[Token(Token = "0x600B2FE")]
[Address(RVA = "0x4257C0", Offset = "0x4247C0", VA = "0x1804257C0", Slot = "5")]
get
{
return this.macLength;
}
}
// Token: 0x0600B2FF RID: 45823 RVA: 0x0026A758 File Offset: 0x00268958
[Token(Token = "0x600B2FF")]
[Address(RVA = "0x4A99B0", Offset = "0x4A89B0", VA = "0x1804A99B0", Slot = "6")]
public virtual byte[] CalculateMac(long seqNo, byte type, byte[] message, int offset, int length)
{
TlsContext tlsContext = this.context;
byte[] array = new byte[11];
int num = 0;
TlsUtilities.WriteUint64(seqNo, array, num);
TlsUtilities.WriteUint8(type, array, 8);
bool flag;
if (!flag)
{
}
IMac mac = this.mac;
int length2 = array.Length;
IMac mac2 = this.mac;
return MacUtilities.DoFinal(this.mac);
}
// Token: 0x0600B300 RID: 45824 RVA: 0x0026A7B8 File Offset: 0x002689B8
[Token(Token = "0x600B300")]
[Address(RVA = "0x4A9780", Offset = "0x4A8780", VA = "0x1804A9780", 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: 0x0600B301 RID: 45825 RVA: 0x0026A818 File Offset: 0x00268A18
[Token(Token = "0x600B301")]
[Address(RVA = "0x4A9C10", Offset = "0x4A8C10", VA = "0x1804A9C10", Slot = "8")]
protected virtual int GetDigestBlockCount(int inputLength)
{
int num = this.digestOverhead;
return num + inputLength;
}
// Token: 0x0600B302 RID: 45826 RVA: 0x0026A834 File Offset: 0x00268A34
[Token(Token = "0x600B302")]
[Address(RVA = "0x4A9C20", Offset = "0x4A8C20", VA = "0x1804A9C20", Slot = "9")]
protected virtual byte[] Truncate(byte[] bs)
{
int num = this.macLength;
if (bs.Length > num)
{
return Arrays.CopyOf(bs, num);
}
return bs;
}
// Token: 0x040071D6 RID: 29142
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40071D6")]
protected readonly TlsContext context;
// Token: 0x040071D7 RID: 29143
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40071D7")]
protected readonly byte[] secret;
// Token: 0x040071D8 RID: 29144
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40071D8")]
protected readonly IMac mac;
// Token: 0x040071D9 RID: 29145
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40071D9")]
protected readonly int digestBlockSize;
// Token: 0x040071DA RID: 29146
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40071DA")]
protected readonly int digestOverhead;
// Token: 0x040071DB RID: 29147
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40071DB")]
protected readonly int macLength;
}
}