- Модуль: 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;
}