]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/Salmon.php
messages.po and and corrected typo in comment
[friendica.git] / src / Protocol / Salmon.php
index b1bdb67e1dd206074cbe0e250f3de3ff2af28392..7e91b0e3e0957d95e99e0970a74b601d4dd50d03 100644 (file)
@@ -25,9 +25,11 @@ use Friendica\Core\Logger;
 use Friendica\DI;
 use Friendica\Network\HTTPClient\Client\HttpClientAccept;
 use Friendica\Network\Probe;
+use Friendica\Protocol\Salmon\Format\Magic;
 use Friendica\Util\Crypto;
 use Friendica\Util\Strings;
 use Friendica\Util\XML;
+use phpseclib3\Crypt\PublicKeyLoader;
 
 /**
  * Salmon Protocol class
@@ -243,7 +245,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);
        }
 }