/edu-sharing" * @param string $privateKey * Your app's private key. This must match the public key registered in the repo * @param string $appId * Your app id name (as registered in the edu-sharing repository) */ public function __construct( string $baseUrl, string $privateKey, string $appId, string $http_proxy = '' ) { if(!preg_match('/^([a-z]|[A-Z]|[0-9]|[-_])+$/', $appId)) { throw new Exception('The given app id contains invalid characters or symbols'); } $this->baseUrl=$baseUrl; $this->privateKey=$privateKey; $this->appId=$appId; $this->http_proxy = $http_proxy; } public function setLanguage(string $language) { $this->language = $language; } function sign(string $toSign) { $pkeyid = openssl_get_privatekey($this->privateKey); openssl_sign($toSign, $signature, $pkeyid); $signature = base64_encode($signature); openssl_free_key($pkeyid); return $signature; } }