• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/jwt.php
  • Класс: BitrixMainWebJWT
  • Вызов: JWT::signatureToDER
static function signatureToDER($sig)
{
	// Separate the signature into r-value and s-value
	list($r, $s) = str_split($sig, (int) (strlen($sig) / 2));

	// Trim leading zeros
	$r = ltrim($r, "x00");
	$s = ltrim($s, "x00");

	// Convert r-value and s-value from unsigned big-endian integers to
	// signed two's complement
	if (ord($r[0]) > 0x7f) {
		$r = "x00" . $r;
	}
	if (ord($s[0]) > 0x7f) {
		$s = "x00" . $s;
	}

	return self::encodeDER(
		self::ASN1_SEQUENCE,
		self::encodeDER(self::ASN1_INTEGER, $r) .
		self::encodeDER(self::ASN1_INTEGER, $s)
	);
}