diff options
Diffstat (limited to 'crypto/src/asn1/x509/ExtendedKeyUsage.cs')
-rw-r--r-- | crypto/src/asn1/x509/ExtendedKeyUsage.cs | 30 |
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() |