• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/jwt.php
  • Класс: BitrixMainWebJWT
  • Вызов: JWT::signatureFromDER
static function signatureFromDER($der, $keySize)
{
	// OpenSSL returns the ECDSA signatures as a binary ASN.1 DER SEQUENCE
	list($offset, $_) = self::readDER($der);
	list($offset, $r) = self::readDER($der, $offset);
	list($offset, $s) = self::readDER($der, $offset);

	// Convert r-value and s-value from signed two's compliment to unsigned
	// big-endian integers
	$r = ltrim($r, "x00");
	$s = ltrim($s, "x00");

	// Pad out r and s so that they are $keySize bits long
	$r = str_pad($r, $keySize / 8, "x00", STR_PAD_LEFT);
	$s = str_pad($s, $keySize / 8, "x00", STR_PAD_LEFT);

	return $r . $s;
}