Files
2026-06-04 11:42:34 +02:00

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)
{
}
}
}
}