X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FSalmon.php;h=5047375ea0fb81c89caccb69a6cc1b87e6d25418;hb=b2758f2cddc37b530c667f98ea91f6c183bf4583;hp=b1bdb67e1dd206074cbe0e250f3de3ff2af28392;hpb=cfa575b8e52d317fb0d0748d5e701e68077e6ca5;p=friendica.git diff --git a/src/Protocol/Salmon.php b/src/Protocol/Salmon.php index b1bdb67e1d..5047375ea0 100644 --- a/src/Protocol/Salmon.php +++ b/src/Protocol/Salmon.php @@ -1,6 +1,6 @@ $ret]); if (count($ret) == 1) { - /* We only found one one key so we don't care if the hash matches. + /* We only found one key so we don't care if the hash matches. * If it's the wrong key we'll find out soon enough because * message verification will fail. This also covers some older * software which don't supply a keyhash. As long as they only @@ -158,7 +160,7 @@ class Salmon $namespaces = ['me' => ActivityNamespace::SALMON_ME]; - $salmon = XML::fromArray($xmldata, $xml, false, $namespaces); + $salmon = XML::fromArray($xmldata, $dummy, false, $namespaces); // slap them $postResult = DI::httpClient()->post($url, $salmon, [ @@ -185,9 +187,7 @@ class Salmon ] ]; - $namespaces = ['me' => ActivityNamespace::SALMON_ME]; - - $salmon = XML::fromArray($xmldata, $xml, false, $namespaces); + $salmon = XML::fromArray($xmldata, $dummy, false, $namespaces); // slap them $postResult = DI::httpClient()->post($url, $salmon, [ @@ -212,9 +212,7 @@ class Salmon ] ]; - $namespaces = ['me' => ActivityNamespace::SALMON_ME]; - - $salmon = XML::fromArray($xmldata, $xml, false, $namespaces); + $salmon = XML::fromArray($xmldata, $dummy, false, $namespaces); // slap them $postResult = DI::httpClient()->post($url, $salmon, [ @@ -243,7 +241,19 @@ class Salmon */ public static function salmonKey(string $pubkey): string { - Crypto::pemToMe($pubkey, $modulus, $exponent); - return 'RSA' . '.' . Strings::base64UrlEncode($modulus, true) . '.' . Strings::base64UrlEncode($exponent, true); + \phpseclib3\Crypt\RSA::addFileFormat(Magic::class); + + return PublicKeyLoader::load($pubkey)->toString('Magic'); + } + + /** + * @param string $magic Magic key format starting with "RSA." + * @return string + */ + public static function magicKeyToPem(string $magic): string + { + \phpseclib3\Crypt\RSA::addFileFormat(Magic::class); + + return (string) PublicKeyLoader::load($magic); } }