#if SECURITY_DEP
-#if MONOTOUCH || MONODROID
-using Mono.Security;
-#else
+#if MONO_SECURITY_ALIAS
extern alias MonoSecurity;
using MonoSecurity::Mono.Security;
+#else
+using Mono.Security;
#endif
using System.Text;
_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.");
}