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

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/Mono.Security/Mono.Security.X509.Extensions')
-rw-r--r--mcs/class/Mono.Security/Mono.Security.X509.Extensions/ChangeLog5
-rw-r--r--mcs/class/Mono.Security/Mono.Security.X509.Extensions/KeyUsageExtension.cs17
2 files changed, 22 insertions, 0 deletions
diff --git a/mcs/class/Mono.Security/Mono.Security.X509.Extensions/ChangeLog b/mcs/class/Mono.Security/Mono.Security.X509.Extensions/ChangeLog
index f00dcacd041..b8d2dc9942e 100644
--- a/mcs/class/Mono.Security/Mono.Security.X509.Extensions/ChangeLog
+++ b/mcs/class/Mono.Security/Mono.Security.X509.Extensions/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-15 Sebastien Pouliot <sebastien@ximian.com>
+
+ * KeyUsageExtension.cs: Added Encode to extension so it can be used
+ by makecert. Fix bug # 61240. Patch provided by Ianier Munoz.
+
2004-04-28 Sebastien Pouliot <sebastien@ximian.com>
* KeyUsageExtension.cs: Added missing INSIDE_CORLIB to enum.
diff --git a/mcs/class/Mono.Security/Mono.Security.X509.Extensions/KeyUsageExtension.cs b/mcs/class/Mono.Security/Mono.Security.X509.Extensions/KeyUsageExtension.cs
index a8c5553ed58..0c5d3b0cf38 100644
--- a/mcs/class/Mono.Security/Mono.Security.X509.Extensions/KeyUsageExtension.cs
+++ b/mcs/class/Mono.Security/Mono.Security.X509.Extensions/KeyUsageExtension.cs
@@ -86,6 +86,11 @@ namespace Mono.Security.X509.Extensions {
public KeyUsageExtension (X509Extension extension) : base (extension) {}
+ public KeyUsageExtension () : base ()
+ {
+ extnOid = "2.5.29.15";
+ }
+
protected override void Decode ()
{
ASN1 bitString = new ASN1 (extnValue.Value);
@@ -96,6 +101,18 @@ namespace Mono.Security.X509.Extensions {
kubits = (kubits << 8) + bitString.Value [i++];
}
+ protected override void Encode ()
+ {
+ if (extnValue == null) {
+ extnValue = new ASN1 (0x03, new byte[] { 0x00, (byte)kubits });
+ }
+ }
+
+ public KeyUsages KeyUsage {
+ get { return (KeyUsages) kubits; }
+ set { kubits = Convert.ToInt32 (value, CultureInfo.InvariantCulture); }
+ }
+
public override string Name {
get { return "Key Usage"; }
}