From 34689e23111bb0402a18cf87cdb2ffcee1e9002c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Sun, 9 Feb 2014 19:53:25 +0100
Subject: [PATCH] Standards.X509.TBSCertificate: Added some more entries.

Adds direct access to validity and keyinfo.
---
 lib/modules/Standards.pmod/X509.pmod | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/lib/modules/Standards.pmod/X509.pmod b/lib/modules/Standards.pmod/X509.pmod
index ddb0af11b4..0c0d548066 100644
--- a/lib/modules/Standards.pmod/X509.pmod
+++ b/lib/modules/Standards.pmod/X509.pmod
@@ -365,6 +365,10 @@ protected Verifier make_verifier(Object _keyinfo)
 }
 
 //! Represents a TBSCertificate.
+//!
+//! @note
+//!   Was not compatible with @[Standards.ASN1.Types.Sequence]
+//!   Prior to Pike 8.0.
 class TBSCertificate
 {
   inherit Sequence;
@@ -455,6 +459,17 @@ class TBSCertificate
     return low_get(2);
   }
 
+  //!
+  void `validity=(Sequence v)
+  {
+    // FIXME: Validate?
+    low_set(3, v);
+  }
+  Sequence `validity()
+  {
+    return low_get(3);
+  }
+
   //!
   void `not_before=(int t)
   {
@@ -493,6 +508,17 @@ class TBSCertificate
 
   protected Verifier internal_public_key;
 
+  //!
+  void `keyinfo=(Sequence ki)
+  {
+    internal_public_key = make_verifier(ki);
+    low_set(5, ki);
+  }
+  Sequence `keyinfo()
+  {
+    return low_get(5);
+  }
+
   //!
   void `public_key=(Verifier v)
   {
-- 
GitLab