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: 0x02001E67 RID: 7783
|
|
[Token(Token = "0x2001E67")]
|
|
public class BerOctetStringGenerator : BerGenerator
|
|
{
|
|
// Token: 0x0600C333 RID: 49971 RVA: 0x002C1FD8 File Offset: 0x002C01D8
|
|
[Token(Token = "0x600C333")]
|
|
[Address(RVA = "0x2295020", Offset = "0x2294020", VA = "0x182295020")]
|
|
public BerOctetStringGenerator(Stream outStream)
|
|
{
|
|
this._out = outStream;
|
|
base.WriteBerHeader(36);
|
|
}
|
|
|
|
// Token: 0x0600C334 RID: 49972 RVA: 0x002C1FFC File Offset: 0x002C01FC
|
|
[Token(Token = "0x600C334")]
|
|
[Address(RVA = "0x2295060", Offset = "0x2294060", VA = "0x182295060")]
|
|
public BerOctetStringGenerator(Stream outStream, int tagNo, bool isExplicit)
|
|
{
|
|
this._out = outStream;
|
|
this._isExplicit = isExplicit;
|
|
this._tagNo = tagNo;
|
|
base.WriteBerHeader(36);
|
|
}
|
|
|
|
// Token: 0x0600C335 RID: 49973 RVA: 0x002C202C File Offset: 0x002C022C
|
|
[Token(Token = "0x600C335")]
|
|
[Address(RVA = "0x2294E90", Offset = "0x2293E90", VA = "0x182294E90")]
|
|
public Stream GetOctetOutputStream()
|
|
{
|
|
byte[] array = new byte[1000];
|
|
return this.GetOctetOutputStream(array);
|
|
}
|
|
|
|
// Token: 0x0600C336 RID: 49974 RVA: 0x002C204C File Offset: 0x002C024C
|
|
[Token(Token = "0x600C336")]
|
|
[Address(RVA = "0x2294EE0", Offset = "0x2293EE0", VA = "0x182294EE0")]
|
|
public Stream GetOctetOutputStream(int bufSize)
|
|
{
|
|
if (bufSize < 1)
|
|
{
|
|
}
|
|
byte[] array = new byte[bufSize];
|
|
return this.GetOctetOutputStream(array);
|
|
}
|
|
|
|
// Token: 0x0600C337 RID: 49975 RVA: 0x002C206C File Offset: 0x002C026C
|
|
[Token(Token = "0x600C337")]
|
|
[Address(RVA = "0x2294F60", Offset = "0x2293F60", VA = "0x182294F60")]
|
|
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: 0x02001E68 RID: 7784
|
|
[Token(Token = "0x2001E68")]
|
|
private class BufferedBerOctetStream : BaseOutputStream
|
|
{
|
|
// Token: 0x0600C338 RID: 49976 RVA: 0x002C20A8 File Offset: 0x002C02A8
|
|
[Token(Token = "0x600C338")]
|
|
[Address(RVA = "0x2298010", Offset = "0x2297010", VA = "0x182298010")]
|
|
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: 0x0600C339 RID: 49977 RVA: 0x002C20EC File Offset: 0x002C02EC
|
|
[Token(Token = "0x600C339")]
|
|
[Address(RVA = "0x2297E50", Offset = "0x2296E50", VA = "0x182297E50", 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: 0x0600C33A RID: 49978 RVA: 0x002C214C File Offset: 0x002C034C
|
|
[Token(Token = "0x600C33A")]
|
|
[Address(RVA = "0x2297ED0", Offset = "0x2296ED0", VA = "0x182297ED0", 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: 0x0600C33B RID: 49979 RVA: 0x002C2200 File Offset: 0x002C0400
|
|
[Token(Token = "0x600C33B")]
|
|
[Address(RVA = "0x2297E00", Offset = "0x2296E00", VA = "0x182297E00", 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: 0x04007B40 RID: 31552
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4007B40")]
|
|
private byte[] _buf;
|
|
|
|
// Token: 0x04007B41 RID: 31553
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4007B41")]
|
|
private int _off;
|
|
|
|
// Token: 0x04007B42 RID: 31554
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4007B42")]
|
|
private readonly BerOctetStringGenerator _gen;
|
|
|
|
// Token: 0x04007B43 RID: 31555
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4007B43")]
|
|
private readonly DerOutputStream _derOut;
|
|
}
|
|
}
|
|
}
|