Files
2026-04-08 23:40:05 +02:00

173 lines
5.3 KiB
C#

using System;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1
{
// Token: 0x020017AA RID: 6058
[Token(Token = "0x20017AA")]
[StructLayout(3)]
public class BerOctetStringGenerator : BerGenerator
{
// Token: 0x0600A38B RID: 41867 RVA: 0x00261248 File Offset: 0x0025F448
[Token(Token = "0x600A38B")]
[Address(RVA = "0x267C9C0", Offset = "0x267B3C0", VA = "0x18267C9C0")]
public BerOctetStringGenerator(Stream outStream)
{
this._out = outStream;
base.WriteBerHeader(36);
}
// Token: 0x0600A38C RID: 41868 RVA: 0x0026126C File Offset: 0x0025F46C
[Token(Token = "0x600A38C")]
[Address(RVA = "0x267CA00", Offset = "0x267B400", VA = "0x18267CA00")]
public BerOctetStringGenerator(Stream outStream, int tagNo, bool isExplicit)
{
this._out = outStream;
this._isExplicit = isExplicit;
this._tagNo = tagNo;
base.WriteBerHeader(36);
}
// Token: 0x0600A38D RID: 41869 RVA: 0x0026129C File Offset: 0x0025F49C
[Token(Token = "0x600A38D")]
[Address(RVA = "0x267C830", Offset = "0x267B230", VA = "0x18267C830")]
public Stream GetOctetOutputStream()
{
byte[] array = new byte[1000];
return this.GetOctetOutputStream(array);
}
// Token: 0x0600A38E RID: 41870 RVA: 0x002612BC File Offset: 0x0025F4BC
[Token(Token = "0x600A38E")]
[Address(RVA = "0x267C880", Offset = "0x267B280", VA = "0x18267C880")]
public Stream GetOctetOutputStream(int bufSize)
{
if (bufSize < 1)
{
}
byte[] array = new byte[bufSize];
return this.GetOctetOutputStream(array);
}
// Token: 0x0600A38F RID: 41871 RVA: 0x002612DC File Offset: 0x0025F4DC
[Token(Token = "0x600A38F")]
[Address(RVA = "0x267C900", Offset = "0x267B300", VA = "0x18267C900")]
public Stream GetOctetOutputStream(byte[] buf)
{
BerOctetStringGenerator.BufferedBerOctetStream bufferedBerOctetStream;
bufferedBerOctetStream._gen = this;
bufferedBerOctetStream._buf = buf;
bufferedBerOctetStream._off = (int)((ulong)0L);
DerOutputStream derOutputStream = new DerOutputStream(this._out);
bufferedBerOctetStream._derOut = derOutputStream;
throw new NullReferenceException();
}
// Token: 0x020017AB RID: 6059
[Token(Token = "0x20017AB")]
private class BufferedBerOctetStream : BaseOutputStream
{
// Token: 0x0600A390 RID: 41872 RVA: 0x00261318 File Offset: 0x0025F518
[Token(Token = "0x600A390")]
[Address(RVA = "0x267FA70", Offset = "0x267E470", VA = "0x18267FA70")]
internal BufferedBerOctetStream(BerOctetStringGenerator gen, byte[] buf)
{
this._gen = gen;
this._buf = buf;
this._off = (int)((ulong)0L);
DerOutputStream derOutputStream = new DerOutputStream(gen._out);
this._derOut = derOutputStream;
}
// Token: 0x0600A391 RID: 41873 RVA: 0x0026135C File Offset: 0x0025F55C
[Token(Token = "0x600A391")]
[Address(RVA = "0x267F8B0", Offset = "0x267E2B0", VA = "0x18267F8B0", Slot = "30")]
public override void WriteByte(byte b)
{
byte[] buf = this._buf;
int num = this._off + 1;
this._off = num;
byte[] buf2 = this._buf;
int off = this._off;
if (off == buf2.Length)
{
DerOutputStream derOut = this._derOut;
int num2 = 0;
DerOctetString.Encode(derOut, buf2, num2, off);
this._off = (int)((ulong)0L);
}
}
// Token: 0x0600A392 RID: 41874 RVA: 0x002613BC File Offset: 0x0025F5BC
[Token(Token = "0x600A392")]
[Address(RVA = "0x267F930", Offset = "0x267E330", VA = "0x18267F930", Slot = "29")]
public override void Write(byte[] buf, int offset, int len)
{
if (len > 0)
{
int num = 0;
byte[] buf2 = this._buf;
int off = this._off;
int num2 = buf2.Length;
num2 -= off;
int num3 = Math.Min(len, num2);
byte[] buf3 = this._buf;
if (num3 != buf3.Length)
{
int off2 = this._off;
Array.Copy(buf, offset, buf3, off2, num3);
int num4 = this._off;
byte[] buf4 = this._buf;
num4 += num3;
this._off = num4;
DerOutputStream derOut = this._derOut;
int num5 = 0;
DerOctetString.Encode(derOut, buf4, num5, num4);
this._off = num;
}
DerOctetString.Encode(this._derOut, buf, offset, len);
}
}
// Token: 0x0600A393 RID: 41875 RVA: 0x00261470 File Offset: 0x0025F670
[Token(Token = "0x600A393")]
[Address(RVA = "0x267F860", Offset = "0x267E260", VA = "0x18267F860", Slot = "15")]
public override void Close()
{
int off = this._off;
if (off != 0)
{
byte[] buf = this._buf;
int num = 0;
DerOctetString.Encode(this._derOut, buf, num, off);
}
this._gen.WriteBerEnd();
base.Close();
}
// Token: 0x04006B44 RID: 27460
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4006B44")]
private byte[] _buf;
// Token: 0x04006B45 RID: 27461
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4006B45")]
private int _off;
// Token: 0x04006B46 RID: 27462
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4006B46")]
private readonly BerOctetStringGenerator _gen;
// Token: 0x04006B47 RID: 27463
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4006B47")]
private readonly DerOutputStream _derOut;
}
}
}