#if SECURITY_DEP
-using System.Text;
-
+#if MONO_SECURITY_ALIAS
+extern alias MonoSecurity;
+using MonoSecurity::Mono.Security;
+#else
using Mono.Security;
+#endif
+
+using System.Text;
namespace System.Security.Cryptography.X509Certificates {
_oid = new Oid (oid, friendlyName);
base.Critical = critical;
- _enhKeyUsage = enhancedKeyUsages.ReadOnlyCopy ();
+ _enhKeyUsage = new OidCollection();
+ foreach (Oid oid in enhancedKeyUsages) {
+ _enhKeyUsage.Add(oid);
+ }
RawData = Encode ();
}
switch (_status) {
case AsnDecodeStatus.Ok:
case AsnDecodeStatus.InformationNotAvailable:
- if (_enhKeyUsage == null)
- _enhKeyUsage = new OidCollection ();
- _enhKeyUsage.ReadOnly = true;
- return _enhKeyUsage;
+
+ OidCollection oids = new OidCollection();
+ if (_enhKeyUsage != null) {
+ foreach(Oid oid in _enhKeyUsage) {
+ oids.Add(oid);
+ }
+ }
+ return oids;
default:
throw new CryptographicException ("Badly encoded extension.");
}