307 lines
7.0 KiB
C#
307 lines
7.0 KiB
C#
using System;
|
|
using System.Text;
|
|
|
|
namespace Mono.Security.X509
|
|
{
|
|
// Token: 0x02000051 RID: 81
|
|
public class X520
|
|
{
|
|
// Token: 0x02000052 RID: 82
|
|
public abstract class AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003A9 RID: 937 RVA: 0x000189C8 File Offset: 0x00016BC8
|
|
protected AttributeTypeAndValue(string oid, int upperBound)
|
|
{
|
|
this.oid = oid;
|
|
this.upperBound = upperBound;
|
|
this.encoding = byte.MaxValue;
|
|
}
|
|
|
|
// Token: 0x060003AA RID: 938 RVA: 0x000189EC File Offset: 0x00016BEC
|
|
protected AttributeTypeAndValue(string oid, int upperBound, byte encoding)
|
|
{
|
|
this.oid = oid;
|
|
this.upperBound = upperBound;
|
|
this.encoding = encoding;
|
|
}
|
|
|
|
// Token: 0x170000D5 RID: 213
|
|
// (get) Token: 0x060003AB RID: 939 RVA: 0x00018A0C File Offset: 0x00016C0C
|
|
// (set) Token: 0x060003AC RID: 940 RVA: 0x00018A14 File Offset: 0x00016C14
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return this.attrValue;
|
|
}
|
|
set
|
|
{
|
|
if (this.attrValue != null && this.attrValue.Length > this.upperBound)
|
|
{
|
|
string text = Locale.GetText("Value length bigger than upperbound ({0}).");
|
|
throw new FormatException(string.Format(text, this.upperBound));
|
|
}
|
|
this.attrValue = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170000D6 RID: 214
|
|
// (get) Token: 0x060003AD RID: 941 RVA: 0x00018A6C File Offset: 0x00016C6C
|
|
public ASN1 ASN1
|
|
{
|
|
get
|
|
{
|
|
return this.GetASN1();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060003AE RID: 942 RVA: 0x00018A74 File Offset: 0x00016C74
|
|
internal ASN1 GetASN1(byte encoding)
|
|
{
|
|
byte b = encoding;
|
|
if (b == 255)
|
|
{
|
|
b = this.SelectBestEncoding();
|
|
}
|
|
ASN1 asn = new ASN1(48);
|
|
asn.Add(ASN1Convert.FromOid(this.oid));
|
|
byte b2 = b;
|
|
switch (b2)
|
|
{
|
|
case 19:
|
|
asn.Add(new ASN1(19, Encoding.ASCII.GetBytes(this.attrValue)));
|
|
break;
|
|
default:
|
|
if (b2 == 30)
|
|
{
|
|
asn.Add(new ASN1(30, Encoding.BigEndianUnicode.GetBytes(this.attrValue)));
|
|
}
|
|
break;
|
|
case 22:
|
|
asn.Add(new ASN1(22, Encoding.ASCII.GetBytes(this.attrValue)));
|
|
break;
|
|
}
|
|
return asn;
|
|
}
|
|
|
|
// Token: 0x060003AF RID: 943 RVA: 0x00018B44 File Offset: 0x00016D44
|
|
internal ASN1 GetASN1()
|
|
{
|
|
return this.GetASN1(this.encoding);
|
|
}
|
|
|
|
// Token: 0x060003B0 RID: 944 RVA: 0x00018B54 File Offset: 0x00016D54
|
|
public byte[] GetBytes(byte encoding)
|
|
{
|
|
return this.GetASN1(encoding).GetBytes();
|
|
}
|
|
|
|
// Token: 0x060003B1 RID: 945 RVA: 0x00018B64 File Offset: 0x00016D64
|
|
public byte[] GetBytes()
|
|
{
|
|
return this.GetASN1().GetBytes();
|
|
}
|
|
|
|
// Token: 0x060003B2 RID: 946 RVA: 0x00018B74 File Offset: 0x00016D74
|
|
private byte SelectBestEncoding()
|
|
{
|
|
foreach (char c in this.attrValue)
|
|
{
|
|
char c2 = c;
|
|
if (c2 == '@' || c2 == '_')
|
|
{
|
|
return 30;
|
|
}
|
|
if (c > '\u007f')
|
|
{
|
|
return 30;
|
|
}
|
|
}
|
|
return 19;
|
|
}
|
|
|
|
// Token: 0x040001B5 RID: 437
|
|
private string oid;
|
|
|
|
// Token: 0x040001B6 RID: 438
|
|
private string attrValue;
|
|
|
|
// Token: 0x040001B7 RID: 439
|
|
private int upperBound;
|
|
|
|
// Token: 0x040001B8 RID: 440
|
|
private byte encoding;
|
|
}
|
|
|
|
// Token: 0x02000053 RID: 83
|
|
public class Name : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003B3 RID: 947 RVA: 0x00018BD4 File Offset: 0x00016DD4
|
|
public Name()
|
|
: base("2.5.4.41", 32768)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000054 RID: 84
|
|
public class CommonName : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003B4 RID: 948 RVA: 0x00018BE8 File Offset: 0x00016DE8
|
|
public CommonName()
|
|
: base("2.5.4.3", 64)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000055 RID: 85
|
|
public class SerialNumber : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003B5 RID: 949 RVA: 0x00018BF8 File Offset: 0x00016DF8
|
|
public SerialNumber()
|
|
: base("2.5.4.5", 64, 19)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000056 RID: 86
|
|
public class LocalityName : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003B6 RID: 950 RVA: 0x00018C0C File Offset: 0x00016E0C
|
|
public LocalityName()
|
|
: base("2.5.4.7", 128)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000057 RID: 87
|
|
public class StateOrProvinceName : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003B7 RID: 951 RVA: 0x00018C20 File Offset: 0x00016E20
|
|
public StateOrProvinceName()
|
|
: base("2.5.4.8", 128)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000058 RID: 88
|
|
public class OrganizationName : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003B8 RID: 952 RVA: 0x00018C34 File Offset: 0x00016E34
|
|
public OrganizationName()
|
|
: base("2.5.4.10", 64)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000059 RID: 89
|
|
public class OrganizationalUnitName : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003B9 RID: 953 RVA: 0x00018C44 File Offset: 0x00016E44
|
|
public OrganizationalUnitName()
|
|
: base("2.5.4.11", 64)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0200005A RID: 90
|
|
public class EmailAddress : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003BA RID: 954 RVA: 0x00018C54 File Offset: 0x00016E54
|
|
public EmailAddress()
|
|
: base("1.2.840.113549.1.9.1", 128, 22)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0200005B RID: 91
|
|
public class DomainComponent : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003BB RID: 955 RVA: 0x00018C68 File Offset: 0x00016E68
|
|
public DomainComponent()
|
|
: base("0.9.2342.19200300.100.1.25", int.MaxValue, 22)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0200005C RID: 92
|
|
public class UserId : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003BC RID: 956 RVA: 0x00018C7C File Offset: 0x00016E7C
|
|
public UserId()
|
|
: base("0.9.2342.19200300.100.1.1", 256)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0200005D RID: 93
|
|
public class Oid : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003BD RID: 957 RVA: 0x00018C90 File Offset: 0x00016E90
|
|
public Oid(string oid)
|
|
: base(oid, int.MaxValue)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0200005E RID: 94
|
|
public class Title : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003BE RID: 958 RVA: 0x00018CA0 File Offset: 0x00016EA0
|
|
public Title()
|
|
: base("2.5.4.12", 64)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0200005F RID: 95
|
|
public class CountryName : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003BF RID: 959 RVA: 0x00018CB0 File Offset: 0x00016EB0
|
|
public CountryName()
|
|
: base("2.5.4.6", 2, 19)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000060 RID: 96
|
|
public class DnQualifier : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003C0 RID: 960 RVA: 0x00018CC0 File Offset: 0x00016EC0
|
|
public DnQualifier()
|
|
: base("2.5.4.46", 2, 19)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000061 RID: 97
|
|
public class Surname : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003C1 RID: 961 RVA: 0x00018CD0 File Offset: 0x00016ED0
|
|
public Surname()
|
|
: base("2.5.4.4", 32768)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000062 RID: 98
|
|
public class GivenName : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003C2 RID: 962 RVA: 0x00018CE4 File Offset: 0x00016EE4
|
|
public GivenName()
|
|
: base("2.5.4.42", 16)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000063 RID: 99
|
|
public class Initial : X520.AttributeTypeAndValue
|
|
{
|
|
// Token: 0x060003C3 RID: 963 RVA: 0x00018CF4 File Offset: 0x00016EF4
|
|
public Initial()
|
|
: base("2.5.4.43", 5)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|