171 lines
5.1 KiB
C#
171 lines
5.1 KiB
C#
using System;
|
|
using System.IO;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1
|
|
{
|
|
// Token: 0x02001D87 RID: 7559
|
|
[Token(Token = "0x2001D87")]
|
|
public class BerOctetStringGenerator : BerGenerator
|
|
{
|
|
// Token: 0x0600BF65 RID: 48997 RVA: 0x002B96E0 File Offset: 0x002B78E0
|
|
[Token(Token = "0x600BF65")]
|
|
[Address(RVA = "0x2644C80", Offset = "0x2643A80", VA = "0x182644C80")]
|
|
public BerOctetStringGenerator(Stream outStream)
|
|
{
|
|
this._out = outStream;
|
|
base.WriteBerHeader(36);
|
|
}
|
|
|
|
// Token: 0x0600BF66 RID: 48998 RVA: 0x002B9704 File Offset: 0x002B7904
|
|
[Token(Token = "0x600BF66")]
|
|
[Address(RVA = "0x2644CC0", Offset = "0x2643AC0", VA = "0x182644CC0")]
|
|
public BerOctetStringGenerator(Stream outStream, int tagNo, bool isExplicit)
|
|
{
|
|
this._out = outStream;
|
|
this._isExplicit = isExplicit;
|
|
this._tagNo = tagNo;
|
|
base.WriteBerHeader(36);
|
|
}
|
|
|
|
// Token: 0x0600BF67 RID: 48999 RVA: 0x002B9734 File Offset: 0x002B7934
|
|
[Token(Token = "0x600BF67")]
|
|
[Address(RVA = "0x2644AF0", Offset = "0x26438F0", VA = "0x182644AF0")]
|
|
public Stream GetOctetOutputStream()
|
|
{
|
|
byte[] array = new byte[1000];
|
|
return this.GetOctetOutputStream(array);
|
|
}
|
|
|
|
// Token: 0x0600BF68 RID: 49000 RVA: 0x002B9754 File Offset: 0x002B7954
|
|
[Token(Token = "0x600BF68")]
|
|
[Address(RVA = "0x2644B40", Offset = "0x2643940", VA = "0x182644B40")]
|
|
public Stream GetOctetOutputStream(int bufSize)
|
|
{
|
|
if (bufSize < 1)
|
|
{
|
|
}
|
|
byte[] array = new byte[bufSize];
|
|
return this.GetOctetOutputStream(array);
|
|
}
|
|
|
|
// Token: 0x0600BF69 RID: 49001 RVA: 0x002B9774 File Offset: 0x002B7974
|
|
[Token(Token = "0x600BF69")]
|
|
[Address(RVA = "0x2644BC0", Offset = "0x26439C0", VA = "0x182644BC0")]
|
|
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: 0x02001D88 RID: 7560
|
|
[Token(Token = "0x2001D88")]
|
|
private class BufferedBerOctetStream : BaseOutputStream
|
|
{
|
|
// Token: 0x0600BF6A RID: 49002 RVA: 0x002B97B0 File Offset: 0x002B79B0
|
|
[Token(Token = "0x600BF6A")]
|
|
[Address(RVA = "0x2647C70", Offset = "0x2646A70", VA = "0x182647C70")]
|
|
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: 0x0600BF6B RID: 49003 RVA: 0x002B97F4 File Offset: 0x002B79F4
|
|
[Token(Token = "0x600BF6B")]
|
|
[Address(RVA = "0x2647AB0", Offset = "0x26468B0", VA = "0x182647AB0", 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: 0x0600BF6C RID: 49004 RVA: 0x002B9854 File Offset: 0x002B7A54
|
|
[Token(Token = "0x600BF6C")]
|
|
[Address(RVA = "0x2647B30", Offset = "0x2646930", VA = "0x182647B30", 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: 0x0600BF6D RID: 49005 RVA: 0x002B9908 File Offset: 0x002B7B08
|
|
[Token(Token = "0x600BF6D")]
|
|
[Address(RVA = "0x2647A60", Offset = "0x2646860", VA = "0x182647A60", 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: 0x04007987 RID: 31111
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4007987")]
|
|
private byte[] _buf;
|
|
|
|
// Token: 0x04007988 RID: 31112
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4007988")]
|
|
private int _off;
|
|
|
|
// Token: 0x04007989 RID: 31113
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4007989")]
|
|
private readonly BerOctetStringGenerator _gen;
|
|
|
|
// Token: 0x0400798A RID: 31114
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400798A")]
|
|
private readonly DerOutputStream _derOut;
|
|
}
|
|
}
|
|
}
|