aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Lib/ActivityStreams.php12
-rw-r--r--Zotlabs/Lib/LDSignatures.php4
2 files changed, 14 insertions, 2 deletions
diff --git a/Zotlabs/Lib/ActivityStreams.php b/Zotlabs/Lib/ActivityStreams.php
index 686f4a140..2846ea476 100644
--- a/Zotlabs/Lib/ActivityStreams.php
+++ b/Zotlabs/Lib/ActivityStreams.php
@@ -13,7 +13,9 @@ class ActivityStreams {
public $tgt = null;
public $origin = null;
public $owner = null;
-
+ public $signer = null;
+ public $ldsig = null;
+ public $sigok = false;
public $recips = null;
function __construct($string) {
@@ -32,6 +34,14 @@ class ActivityStreams {
$this->origin = $this->get_compound_property('origin');
$this->recips = $this->collect_recips();
+ $this->ldsig = $this->get_compound_property('signature');
+ if($this->ldsig) {
+ $this->signer = $this->get_compound_property('creator',$this->ldsig);
+ if($this->signer && $this->signer['publicKey'] && $this->signer['publicKey']['publicKeyPem']) {
+ $this->sigok = \Zotlabs\Lib\LDSignatures::verify($this->data,$this->signer['publicKey']['publicKeyPem']);
+ }
+ }
+
if(($this->type === 'Note') && (! $this->obj)) {
$this->obj = $this->data;
$this->type = 'Create';
diff --git a/Zotlabs/Lib/LDSignatures.php b/Zotlabs/Lib/LDSignatures.php
index 88dfe80c0..7d468782a 100644
--- a/Zotlabs/Lib/LDSignatures.php
+++ b/Zotlabs/Lib/LDSignatures.php
@@ -21,6 +21,7 @@ class LDSignatures {
}
static function sign($data,$channel) {
+
$options = [
'type' => 'RsaSignature2017',
'nonce' => random_string(64),
@@ -46,7 +47,7 @@ class LDSignatures {
if($data) {
foreach($data as $k => $v) {
if(! in_array($k,[ 'signature' ])) {
- $newopts[$k] = $v;
+ $newdata[$k] = $v;
}
}
}
@@ -68,6 +69,7 @@ class LDSignatures {
}
static function hash($obj) {
+
return hash('sha256',self::normalise($obj));
}