• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/jwt.php
  • Класс: BitrixMainWebJWT
  • Вызов: JWT::sign
static function sign($msg, $key, $alg = 'HS256')
{
	if (empty(static::$supported_algs[$alg])) {
		throw new DomainException('Algorithm not supported');
	}
	list($function, $algorithm) = static::$supported_algs[$alg];
	switch ($function) {
		case 'hash_hmac':
			return hash_hmac($algorithm, $msg, $key, true);
		case 'openssl':
			$signature = '';
			$success = openssl_sign($msg, $signature, $key, $algorithm);
			if (!$success) {
				throw new DomainException("OpenSSL unable to sign data");
			} else {
				if ($alg === 'ES256') {
					$signature = self::signatureFromDER($signature, 256);
				}
				return $signature;
			}
	}
}