Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilip Navara <filip.navara@gmail.com>2018-06-21 21:04:35 +0300
committerMarek Safar <marek.safar@gmail.com>2018-06-25 13:09:14 +0300
commitd4245e369a2edfde950c93328147adab31e48e70 (patch)
treef27f485b94dd356c362c5c3ef1c3fce7e9f8130a
parent7907326d05d0c585cebc2a009bcdb370b0941e8c (diff)
Align X509EnhancedKeyUsageExtension.EnhancedKeyUsages behaviour with NetFX
-rw-r--r--src/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs5
-rw-r--r--src/System.Security.Cryptography.X509Certificates/tests/ExtensionsTests.cs14
2 files changed, 18 insertions, 1 deletions
diff --git a/src/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs b/src/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs
index 82ab80636d..d986f50807 100644
--- a/src/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs
+++ b/src/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs
@@ -42,7 +42,10 @@ namespace System.Security.Cryptography.X509Certificates
X509Pal.Instance.DecodeX509EnhancedKeyUsageExtension(RawData, out _enhancedKeyUsages);
_decoded = true;
}
- return _enhancedKeyUsages;
+ OidCollection oids = new OidCollection();
+ foreach (Oid oid in _enhancedKeyUsages)
+ oids.Add(oid);
+ return oids;
}
}
diff --git a/src/System.Security.Cryptography.X509Certificates/tests/ExtensionsTests.cs b/src/System.Security.Cryptography.X509Certificates/tests/ExtensionsTests.cs
index 32cba5be20..2db1267d4d 100644
--- a/src/System.Security.Cryptography.X509Certificates/tests/ExtensionsTests.cs
+++ b/src/System.Security.Cryptography.X509Certificates/tests/ExtensionsTests.cs
@@ -299,6 +299,20 @@ namespace System.Security.Cryptography.X509Certificates.Tests
}
[Fact]
+ public static void EnhancedKeyUsageExtension_ImmutableOids()
+ {
+ Oid oid1 = new Oid("1.3.6.1.5.5.7.3.1");
+ OidCollection usages = new OidCollection();
+ X509EnhancedKeyUsageExtension e = new X509EnhancedKeyUsageExtension(usages, false);
+ Assert.Equal(0, e.EnhancedKeyUsages.Count);
+ usages.Add(oid1);
+ Assert.Equal(0, e.EnhancedKeyUsages.Count);
+ e.EnhancedKeyUsages.Add(oid1);
+ Assert.Equal(0, e.EnhancedKeyUsages.Count);
+ Assert.NotSame(e.EnhancedKeyUsages, e.EnhancedKeyUsages);
+ }
+
+ [Fact]
public static void SubjectKeyIdentifierExtensionDefault()
{
X509SubjectKeyIdentifierExtension e = new X509SubjectKeyIdentifierExtension();