220 lines
5.2 KiB
C#
220 lines
5.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
|
|
namespace Mono.Security.X509
|
|
{
|
|
// Token: 0x020000BD RID: 189
|
|
[Serializable]
|
|
internal class X509CertificateCollection : CollectionBase, IEnumerable
|
|
{
|
|
// Token: 0x06000A50 RID: 2640 RVA: 0x0002E1C4 File Offset: 0x0002C3C4
|
|
public X509CertificateCollection()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000A51 RID: 2641 RVA: 0x0002E1CC File Offset: 0x0002C3CC
|
|
public X509CertificateCollection(X509Certificate[] value)
|
|
{
|
|
this.AddRange(value);
|
|
}
|
|
|
|
// Token: 0x06000A52 RID: 2642 RVA: 0x0002E1DC File Offset: 0x0002C3DC
|
|
public X509CertificateCollection(X509CertificateCollection value)
|
|
{
|
|
this.AddRange(value);
|
|
}
|
|
|
|
// Token: 0x06000A53 RID: 2643 RVA: 0x0002E1EC File Offset: 0x0002C3EC
|
|
IEnumerator IEnumerable.GetEnumerator()
|
|
{
|
|
return base.InnerList.GetEnumerator();
|
|
}
|
|
|
|
// Token: 0x1700014F RID: 335
|
|
public X509Certificate this[int index]
|
|
{
|
|
get
|
|
{
|
|
return (X509Certificate)base.InnerList[index];
|
|
}
|
|
set
|
|
{
|
|
base.InnerList[index] = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A56 RID: 2646 RVA: 0x0002E220 File Offset: 0x0002C420
|
|
public int Add(X509Certificate value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
throw new ArgumentNullException("value");
|
|
}
|
|
return base.InnerList.Add(value);
|
|
}
|
|
|
|
// Token: 0x06000A57 RID: 2647 RVA: 0x0002E240 File Offset: 0x0002C440
|
|
public void AddRange(X509Certificate[] value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
throw new ArgumentNullException("value");
|
|
}
|
|
for (int i = 0; i < value.Length; i++)
|
|
{
|
|
base.InnerList.Add(value[i]);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A58 RID: 2648 RVA: 0x0002E284 File Offset: 0x0002C484
|
|
public void AddRange(X509CertificateCollection value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
throw new ArgumentNullException("value");
|
|
}
|
|
for (int i = 0; i < value.InnerList.Count; i++)
|
|
{
|
|
base.InnerList.Add(value[i]);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A59 RID: 2649 RVA: 0x0002E2D4 File Offset: 0x0002C4D4
|
|
public bool Contains(X509Certificate value)
|
|
{
|
|
return this.IndexOf(value) != -1;
|
|
}
|
|
|
|
// Token: 0x06000A5A RID: 2650 RVA: 0x0002E2E4 File Offset: 0x0002C4E4
|
|
public void CopyTo(X509Certificate[] array, int index)
|
|
{
|
|
base.InnerList.CopyTo(array, index);
|
|
}
|
|
|
|
// Token: 0x06000A5B RID: 2651 RVA: 0x0002E2F4 File Offset: 0x0002C4F4
|
|
public new X509CertificateCollection.X509CertificateEnumerator GetEnumerator()
|
|
{
|
|
return new X509CertificateCollection.X509CertificateEnumerator(this);
|
|
}
|
|
|
|
// Token: 0x06000A5C RID: 2652 RVA: 0x0002E2FC File Offset: 0x0002C4FC
|
|
public override int GetHashCode()
|
|
{
|
|
return base.InnerList.GetHashCode();
|
|
}
|
|
|
|
// Token: 0x06000A5D RID: 2653 RVA: 0x0002E30C File Offset: 0x0002C50C
|
|
public int IndexOf(X509Certificate value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
throw new ArgumentNullException("value");
|
|
}
|
|
byte[] hash = value.Hash;
|
|
for (int i = 0; i < base.InnerList.Count; i++)
|
|
{
|
|
X509Certificate x509Certificate = (X509Certificate)base.InnerList[i];
|
|
if (this.Compare(x509Certificate.Hash, hash))
|
|
{
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
// Token: 0x06000A5E RID: 2654 RVA: 0x0002E374 File Offset: 0x0002C574
|
|
public void Insert(int index, X509Certificate value)
|
|
{
|
|
base.InnerList.Insert(index, value);
|
|
}
|
|
|
|
// Token: 0x06000A5F RID: 2655 RVA: 0x0002E384 File Offset: 0x0002C584
|
|
public void Remove(X509Certificate value)
|
|
{
|
|
base.InnerList.Remove(value);
|
|
}
|
|
|
|
// Token: 0x06000A60 RID: 2656 RVA: 0x0002E394 File Offset: 0x0002C594
|
|
private bool Compare(byte[] array1, byte[] array2)
|
|
{
|
|
if (array1 == null && array2 == null)
|
|
{
|
|
return true;
|
|
}
|
|
if (array1 == null || array2 == null)
|
|
{
|
|
return false;
|
|
}
|
|
if (array1.Length != array2.Length)
|
|
{
|
|
return false;
|
|
}
|
|
for (int i = 0; i < array1.Length; i++)
|
|
{
|
|
if (array1[i] != array2[i])
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x020000BE RID: 190
|
|
public class X509CertificateEnumerator : IEnumerator
|
|
{
|
|
// Token: 0x06000A61 RID: 2657 RVA: 0x0002E3EC File Offset: 0x0002C5EC
|
|
public X509CertificateEnumerator(X509CertificateCollection mappings)
|
|
{
|
|
this.enumerator = ((IEnumerable)mappings).GetEnumerator();
|
|
}
|
|
|
|
// Token: 0x17000150 RID: 336
|
|
// (get) Token: 0x06000A62 RID: 2658 RVA: 0x0002E400 File Offset: 0x0002C600
|
|
object IEnumerator.Current
|
|
{
|
|
get
|
|
{
|
|
return this.enumerator.Current;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A63 RID: 2659 RVA: 0x0002E410 File Offset: 0x0002C610
|
|
bool IEnumerator.MoveNext()
|
|
{
|
|
return this.enumerator.MoveNext();
|
|
}
|
|
|
|
// Token: 0x06000A64 RID: 2660 RVA: 0x0002E420 File Offset: 0x0002C620
|
|
void IEnumerator.Reset()
|
|
{
|
|
this.enumerator.Reset();
|
|
}
|
|
|
|
// Token: 0x17000151 RID: 337
|
|
// (get) Token: 0x06000A65 RID: 2661 RVA: 0x0002E430 File Offset: 0x0002C630
|
|
public X509Certificate Current
|
|
{
|
|
get
|
|
{
|
|
return (X509Certificate)this.enumerator.Current;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000A66 RID: 2662 RVA: 0x0002E444 File Offset: 0x0002C644
|
|
public bool MoveNext()
|
|
{
|
|
return this.enumerator.MoveNext();
|
|
}
|
|
|
|
// Token: 0x06000A67 RID: 2663 RVA: 0x0002E454 File Offset: 0x0002C654
|
|
public void Reset()
|
|
{
|
|
this.enumerator.Reset();
|
|
}
|
|
|
|
// Token: 0x040002AC RID: 684
|
|
private IEnumerator enumerator;
|
|
}
|
|
}
|
|
}
|