From: Lex Li Date: Sun, 25 May 2014 12:02:57 +0000 (+0000) Subject: [Mono.Security] Added Encode to AuthorityKeyIdentifierExtension and SubjectKeyIdentif... X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=74eee04f286658e7a76d2c8a07aea9f9f0ee1b5d;p=mono.git [Mono.Security] Added Encode to AuthorityKeyIdentifierExtension and SubjectKeyIdentifierExtension. --- diff --git a/mcs/class/Mono.Security/Mono.Security.X509.Extensions/AuthorityKeyIdentifierExtension.cs b/mcs/class/Mono.Security/Mono.Security.X509.Extensions/AuthorityKeyIdentifierExtension.cs index c42a63343ff..ab426542dbc 100644 --- a/mcs/class/Mono.Security/Mono.Security.X509.Extensions/AuthorityKeyIdentifierExtension.cs +++ b/mcs/class/Mono.Security/Mono.Security.X509.Extensions/AuthorityKeyIdentifierExtension.cs @@ -82,6 +82,18 @@ namespace Mono.Security.X509.Extensions { } } + protected override void Encode () + { + ASN1 seq = new ASN1 (0x30); + if (Identifier == null) { + throw new ArgumentException ("Invalid AuthorityKeyIdentifier extension"); + } + + seq.Add (new ASN1 (0x80, aki)); + extnValue = new ASN1 (0x04); + extnValue.Add (seq); + } + public override string Name { get { return "Authority Key Identifier"; } } @@ -92,6 +104,7 @@ namespace Mono.Security.X509.Extensions { return null; return (byte[]) aki.Clone (); } + set { aki = value; } } public override string ToString () diff --git a/mcs/class/Mono.Security/Mono.Security.X509.Extensions/SubjectKeyIdentifierExtension.cs b/mcs/class/Mono.Security/Mono.Security.X509.Extensions/SubjectKeyIdentifierExtension.cs index 945111675e3..c4b31056357 100644 --- a/mcs/class/Mono.Security/Mono.Security.X509.Extensions/SubjectKeyIdentifierExtension.cs +++ b/mcs/class/Mono.Security/Mono.Security.X509.Extensions/SubjectKeyIdentifierExtension.cs @@ -75,6 +75,17 @@ namespace Mono.Security.X509.Extensions { ski = sequence.Value; } + protected override void Encode () + { + if (Identifier == null) { + throw new ArgumentException ("Invalid SubjectKeyIdentifier extension"); + } + + var seq = new ASN1 (0x04, ski); + extnValue = new ASN1 (0x04); + extnValue.Add (seq); + } + public override string Name { get { return "Subject Key Identifier"; } } @@ -85,6 +96,7 @@ namespace Mono.Security.X509.Extensions { return null; return (byte[]) ski.Clone (); } + set { ski = value; } } public override string ToString ()