1 files changed, 13 insertions, 17 deletions
diff --git a/crypto/src/asn1/x509/ExtendedKeyUsage.cs b/crypto/src/asn1/x509/ExtendedKeyUsage.cs
index 1e7d4d642..f812c308d 100644
--- a/crypto/src/asn1/x509/ExtendedKeyUsage.cs
+++ b/crypto/src/asn1/x509/ExtendedKeyUsage.cs
@@ -1,5 +1,5 @@
using System;
-using System.Collections;
+using System.Collections.Generic;
using Org.BouncyCastle.Utilities;
@@ -38,11 +38,10 @@ namespace Org.BouncyCastle.Asn1.X509
return GetInstance(X509Extensions.GetExtensionParsedValue(extensions, X509Extensions.ExtendedKeyUsage));
}
- internal readonly IDictionary usageTable = Platform.CreateHashtable();
+ internal readonly ISet<DerObjectIdentifier> m_usageTable = new HashSet<DerObjectIdentifier>();
internal readonly Asn1Sequence seq;
- private ExtendedKeyUsage(
- Asn1Sequence seq)
+ private ExtendedKeyUsage(Asn1Sequence seq)
{
this.seq = seq;
@@ -50,23 +49,21 @@ namespace Org.BouncyCastle.Asn1.X509
{
DerObjectIdentifier oid = DerObjectIdentifier.GetInstance(element);
- this.usageTable[oid] = oid;
+ m_usageTable.Add(oid);
}
}
- public ExtendedKeyUsage(
- params KeyPurposeID[] usages)
+ public ExtendedKeyUsage(params KeyPurposeID[] usages)
{
this.seq = new DerSequence(usages);
foreach (KeyPurposeID usage in usages)
{
- this.usageTable[usage] = usage;
+ m_usageTable.Add(usage);
}
}
- public ExtendedKeyUsage(
- IEnumerable usages)
+ public ExtendedKeyUsage(IEnumerable<DerObjectIdentifier> usages)
{
Asn1EncodableVector v = new Asn1EncodableVector();
@@ -75,16 +72,15 @@ namespace Org.BouncyCastle.Asn1.X509
DerObjectIdentifier oid = DerObjectIdentifier.GetInstance(usage);
v.Add(oid);
- this.usageTable[oid] = oid;
+ m_usageTable.Add(oid);
}
this.seq = new DerSequence(v);
}
- public bool HasKeyPurposeId(
- KeyPurposeID keyPurposeId)
+ public bool HasKeyPurposeId(KeyPurposeID keyPurposeId)
{
- return usageTable.Contains(keyPurposeId);
+ return m_usageTable.Contains(keyPurposeId);
}
/**
@@ -92,14 +88,14 @@ namespace Org.BouncyCastle.Asn1.X509
* The returned ArrayList contains DerObjectIdentifier instances.
* @return An ArrayList with all key purposes.
*/
- public IList GetAllUsages()
+ public IList<DerObjectIdentifier> GetAllUsages()
{
- return Platform.CreateArrayList(usageTable.Values);
+ return new List<DerObjectIdentifier>(m_usageTable);
}
public int Count
{
- get { return usageTable.Count; }
+ get { return m_usageTable.Count; }
}
public override Asn1Object ToAsn1Object()
|