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