From 417c206bee32990544f2e47776199325857ba3d0 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Thu, 1 Apr 2010 18:18:02 -0500 Subject: [PATCH] Implement OpenPGP_SignaturePacket_EmbeddedSignaturePacket --- lib/openpgp.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/openpgp.php b/lib/openpgp.php index 5eda640..d3a6bd3 100644 --- a/lib/openpgp.php +++ b/lib/openpgp.php @@ -719,8 +719,19 @@ class OpenPGP_SignaturePacket_SignatureTargetPacket extends OpenPGP_SignaturePac // TODO } -class OpenPGP_SignaturePacket_EmbeddedSignaturePacket extends OpenPGP_SignaturePacket_Subpacket { - // TODO +class OpenPGP_SignaturePacket_EmbeddedSignaturePacket extends OpenPGP_SignaturePacket { + // TODO: This is duplicated from subpacket... improve? + function __construct($data=NULL) { + parent::__construct($data); + $this->tag = array_search(substr(substr(get_class($this), 8+16), 0, -6), OpenPGP_SignaturePacket::$subpacket_types); + } + + function header_and_body() { + $body = $this->body(); // Get body first, we will need it's length + $size = chr(255).pack('N', strlen($body)+1); // Use 5-octet lengths + 1 for tag as first packet body octet + $tag = chr($this->tag); + return array('header' => $size.$tag, 'body' => $body); + } } /**