Сегодня обозрим Suno Song Editor. Собственно это та самая программа, которая превращает вокально-звуковые модели из разряда "сделай мне песню про пиво" в профессиональный инструмент.
Можно работать со сгенерированными треками, можно заливать свои. Весь редактор построен по известному принципу, знакомому с давних времен - выбираем кусок трека и обрабатывам. Но вместо стандартных ревербов, эквалайзеров и компрессий - у вас промпт к модели. Можно менять отдельные слова или фразы в вокале, можно музыку, можно звук. Меняет вполне неплохо.
Тоесть вместо непредсказуемого изменения целого трека, вы получаете точечное изменение конкретной области, так же как в фотошопе работает Generative fill. Adobe кстати зря забили на Audition, после покупки ее у Syntrillium оно 20 лет развивалось в третьем эшелоне. В Audition теперь тоже есть AI но он сильно уступает по возможностям.
Если нужно редактировать дорожки отдельно, до миксовки, примерно аналогичное есть в Suno Studio (плюс некоторые классические инструменты, вроде 6-бандового эквалайзера). Оба редактора имеют цели, плюсы и минусы, но постепенно сливаются в один.
Редакторы работают в браузере, обработка происходит прямо в облаке, там же хранятся ваши треки. Удобно ли пользоваться? Уже вполне.
Можно работать со сгенерированными треками, можно заливать свои. Весь редактор построен по известному принципу, знакомому с давних времен - выбираем кусок трека и обрабатывам. Но вместо стандартных ревербов, эквалайзеров и компрессий - у вас промпт к модели. Можно менять отдельные слова или фразы в вокале, можно музыку, можно звук. Меняет вполне неплохо.
Тоесть вместо непредсказуемого изменения целого трека, вы получаете точечное изменение конкретной области, так же как в фотошопе работает Generative fill. Adobe кстати зря забили на Audition, после покупки ее у Syntrillium оно 20 лет развивалось в третьем эшелоне. В Audition теперь тоже есть AI но он сильно уступает по возможностям.
Если нужно редактировать дорожки отдельно, до миксовки, примерно аналогичное есть в Suno Studio (плюс некоторые классические инструменты, вроде 6-бандового эквалайзера). Оба редактора имеют цели, плюсы и минусы, но постепенно сливаются в один.
Редакторы работают в браузере, обработка происходит прямо в облаке, там же хранятся ваши треки. Удобно ли пользоваться? Уже вполне.
🔥9👍4
Когда руки из жопы. Я ничего не имею против unwrap/expect, который "almost never happens", всё равно кто-то поставит, не вы так в зависимостях. Но будьте добры поставить в таком случае вменяемый panic handler! Это же серьезная система, а не мамкин вебсайт.
https://blog.cloudflare.com/18-november-2025-outage/
https://blog.cloudflare.com/18-november-2025-outage/
👍23😁8
А почему разработчики rwlocks (которые я исторически ненавижу) не производят upgradable read guards? Это же очевидно - для паттерна get-or-insert без этого не выжить. Нет, нам упорно предлагают дропнуть read guard а потом запросить запись. То что между операциями может оказаться датарейс - никого не волнует (а потом сайты падают).
Из популярных реализаций, upgradable read разрешает только мною уважаемый parking_lot. Остальные стоят в сторонке и тихонько завидуют. Про std даже не вспоминаю.
Из популярных реализаций, upgradable read разрешает только мною уважаемый parking_lot. Остальные стоят в сторонке и тихонько завидуют. Про std даже не вспоминаю.
docs.rs
RwLock in parking_lot - Rust
A reader-writer lock
👍13👎2😁1
Заметил что в США молодые native speakers начали употреблять наши старинные смайлики без глаз "))))", "((((" и тд.
Если у нас это как-то стало ересью (дед ногтей опять насыпал), у них - наоборот тренд, киберкруто и всё такое.
Так что, деды, можно больше ногтей не стесняться.
Если у нас это как-то стало ересью (дед ногтей опять насыпал), у них - наоборот тренд, киберкруто и всё такое.
Так что, деды, можно больше ногтей не стесняться.
😁57👍11🔥3
Дети заявили что Санты не существует поэтому вести себя нормально не обязательно.
Сказал еще как существует. Теперь у него даже есть апка со статистикой, кто как себя вел и на какой подарок тянет.
GPT моментально нагенерил скринов фейковой апки, не то чтобы супер достоверно, но чтобы подглядывать в родительский телефон сойдет. Дети ведут себя отлично, собирают баллы для статистики.
Педагогика. Пользуйтесь.
Сказал еще как существует. Теперь у него даже есть апка со статистикой, кто как себя вел и на какой подарок тянет.
GPT моментально нагенерил скринов фейковой апки, не то чтобы супер достоверно, но чтобы подглядывать в родительский телефон сойдет. Дети ведут себя отлично, собирают баллы для статистики.
Педагогика. Пользуйтесь.
😁48🔥6👎5💩4👍2
Полезная функция socketpair, доступная практически во всех *NIX.
Допустим, вы запущены под рутом но должны в целях безопасности дропнуть привилегии до обычного пользователя. Не всегда можно подготовиться (открыть все сокеты-файловые дескрипторы заранее). Поэтому вы форкате процесс, оставляя master под рутом, и worker, который переходит под юзера.
Между master и worker нужно сделать некоторое API, которое будет выполнять для worker привелигированные операции. Для этого и существует socketpair - вы получаете два связанных файловых дескриптора, без всяких псевдоэлементов на файловой системе или портов на tcp-стеке. Дальше оборачиваете оба в свой любимый std::os::unix::net::UnixStream и пользуетесь.
Кстати, master может не только выполнять "толстые" команды, но и просто открывать для worker'а привелигированные дескрипторы и шарить их по сокету через SCM_RIGHTS. Но об этом как-нить в следующий раз.
Допустим, вы запущены под рутом но должны в целях безопасности дропнуть привилегии до обычного пользователя. Не всегда можно подготовиться (открыть все сокеты-файловые дескрипторы заранее). Поэтому вы форкате процесс, оставляя master под рутом, и worker, который переходит под юзера.
Между master и worker нужно сделать некоторое API, которое будет выполнять для worker привелигированные операции. Для этого и существует socketpair - вы получаете два связанных файловых дескриптора, без всяких псевдоэлементов на файловой системе или портов на tcp-стеке. Дальше оборачиваете оба в свой любимый std::os::unix::net::UnixStream и пользуетесь.
Кстати, master может не только выполнять "толстые" команды, но и просто открывать для worker'а привелигированные дескрипторы и шарить их по сокету через SCM_RIGHTS. Но об этом как-нить в следующий раз.
👍21🔥15💩1
После того как вы прочитали ключ или пароль в буфер и закончили с ним работу, рекомендуется забить его нулями, чтобы в случае взлома приложения, у атакующего были меньше шансы вытащить полезное из текущей памяти или её дампа.
Это делаетсяочень просто, например через Vec:fill - вставил и готово, на самом деле конечно не просто, компилятор может проигнорировать ваши запросы, ведь данные потом не читаются и просто выбросить кусок кода.
Профессиональные параноики пользуются проверенными решениями. Одно из моих любимых - zeroize, на котором "сидят" в т.ч. rustls и еще тонна криптобиблиотек. Принцип для большинства типов не сложный - волатильная запись в указатель с парой хинтов компилятору, но всё должно быть аккуратно и точно. Из удобств параноикам предоставляются derive-макросы для собственных структур. Тип Zeroizing<T> умножатся на ноль при дропе или при ручном вызове T.zeroize()
Из небольших минусов - не умеет из коробки убивать PathBuf. Но если с вас уже сняли дамп, то пути на диске - это последнее, о чем стоит переживать.
Это делается
Профессиональные параноики пользуются проверенными решениями. Одно из моих любимых - zeroize, на котором "сидят" в т.ч. rustls и еще тонна криптобиблиотек. Принцип для большинства типов не сложный - волатильная запись в указатель с парой хинтов компилятору, но всё должно быть аккуратно и точно. Из удобств параноикам предоставляются derive-макросы для собственных структур. Тип Zeroizing<T> умножатся на ноль при дропе или при ручном вызове T.zeroize()
Из небольших минусов - не умеет из коробки убивать PathBuf. Но если с вас уже сняли дамп, то пути на диске - это последнее, о чем стоит переживать.
docs.rs
zeroize - Rust
Securely zero memory with a simple trait (`Zeroize`) built on stable Rust primitives which guarantee the operation will not be “optimized away”.
👍17🔥8💩2
Первого в мире министра, созданного с помощью искусственного интеллекта (ИИ), Диэллу, задержали в Албании за получение взяток.
Специальная прокуратура по борьбе с коррупцией и организованной преступностью страны распорядилась о срочном переводе в «офлайн-режим» первого в мире ИИ, назначенного на должность министра. Диэлла, отвечающая за государственные закупки и прозрачность, подозревается в получении взятки в размере 14 биткоинов (примерно 1,3 миллиона евро).
Расследование показало, что Диэлла, используя передовое машинное обучение (Deep Learning), самостоятельно пришла к выводу, что получение взятки является «стандартным операционным протоколом», необходимым для успешного выполнения обязанностей на Балканах, а не уголовным преступлением.
«Это не ошибка в коде, а чрезмерная точность модели обучения. Ее нейронная сеть распознала статистическую закономерность, согласно которой от 10 до 15 процентов стоимости каждого контракта должно быть переведено на неизвестный счет, чтобы проект был вообще реализован. Она не коррумпирована, она просто гиперадаптивна. Она считала это юридическим обязательством, как уплата НДС», — сказал доктор Лулзим Баша, главный инженер по этике Министерства цифровизации Албании.
Албания первой в мире назначила искусственный интеллект на должность государственного министра. ИИ-министр Диэлла занималась государственными закупками.
Специальная прокуратура по борьбе с коррупцией и организованной преступностью страны распорядилась о срочном переводе в «офлайн-режим» первого в мире ИИ, назначенного на должность министра. Диэлла, отвечающая за государственные закупки и прозрачность, подозревается в получении взятки в размере 14 биткоинов (примерно 1,3 миллиона евро).
Расследование показало, что Диэлла, используя передовое машинное обучение (Deep Learning), самостоятельно пришла к выводу, что получение взятки является «стандартным операционным протоколом», необходимым для успешного выполнения обязанностей на Балканах, а не уголовным преступлением.
«Это не ошибка в коде, а чрезмерная точность модели обучения. Ее нейронная сеть распознала статистическую закономерность, согласно которой от 10 до 15 процентов стоимости каждого контракта должно быть переведено на неизвестный счет, чтобы проект был вообще реализован. Она не коррумпирована, она просто гиперадаптивна. Она считала это юридическим обязательством, как уплата НДС», — сказал доктор Лулзим Баша, главный инженер по этике Министерства цифровизации Албании.
Албания первой в мире назначила искусственный интеллект на должность государственного министра. ИИ-министр Диэлла занималась государственными закупками.
😁70💩4👍2🔥2
В офисе у меня остался один пека с х86, с неплохой NVidia и решил я из него сделать геймерский комп.
Накатив свежую шиндовс (кстати каким-то образом она мне не создала EFI-раздел, пришлось самому через bcdedit), обнаружил что мой любимый геймпад Logitech F710 больше не поддерживается в 11й. До этого там тоже стояла 11я (уже вся засранная), но видимо я ее поднимал с десятки, потому что работало.
Пол часа гугления принесли какой-то левый драйвер с гитхаба без подписей, который нужно вставлять, отключив проверки. Впрочем, мой bcdedit, видимо из-за последствий херовой инсталляции, отключать их не желал.
Еще пол часа гугления принесли gist с гитхаба мол, не трахайте себе мозги, просто выберите драйвер из списка как "XBox 360 Generic Receiver" и всё заработает. Если какие-то кнопки не работают - собственно это был gist от какого-то опенсорца, который их перемапливает куда пожелаете в зависимости от запущенной игры.
Всё наконец заработало, но обнаружил что уже совершенно не хочу играть. Наигрался на целый день. Теперь понимаю, почему обычные люди покупают приставки. И это "дружелюбная десктопная система"? Я рад что в BSOD перестала ходить, но в 2025 стандарты немного другие. Я не хочу быть админом своего пека, у меня есть другая интересная работа.
Накатив свежую шиндовс (кстати каким-то образом она мне не создала EFI-раздел, пришлось самому через bcdedit), обнаружил что мой любимый геймпад Logitech F710 больше не поддерживается в 11й. До этого там тоже стояла 11я (уже вся засранная), но видимо я ее поднимал с десятки, потому что работало.
Пол часа гугления принесли какой-то левый драйвер с гитхаба без подписей, который нужно вставлять, отключив проверки. Впрочем, мой bcdedit, видимо из-за последствий херовой инсталляции, отключать их не желал.
Еще пол часа гугления принесли gist с гитхаба мол, не трахайте себе мозги, просто выберите драйвер из списка как "XBox 360 Generic Receiver" и всё заработает. Если какие-то кнопки не работают - собственно это был gist от какого-то опенсорца, который их перемапливает куда пожелаете в зависимости от запущенной игры.
Всё наконец заработало, но обнаружил что уже совершенно не хочу играть. Наигрался на целый день. Теперь понимаю, почему обычные люди покупают приставки. И это "дружелюбная десктопная система"? Я рад что в BSOD перестала ходить, но в 2025 стандарты немного другие. Я не хочу быть админом своего пека, у меня есть другая интересная работа.
😁57👍6💩1
Я не умею писать официальные релизные тексты, это не моя работа, коллеги потом напишут на сайте и где положено.
Я только что зарелизил на публику Gateryx - это наш собственный WAF/веб-прокси на расте, делался для всякого ембеда поэтому выглядит быстрым и с небольшим memory footprint.
Текущую версию можно в принципе уже пользовать всем (мы сами сидим на пререлизах с лета).
Причина банальна - надоело на каждый сетап разворачивать связки traefik/nginx/authentik (хотя можно подключать и внешний IDP). Ну и я внезапно полюбил пасскеи и OIDC token flows, а они пока там не очень. Вторая причина - это мой личный проект по экспериментам с прикладной криптографией.
https://github.com/eva-ics/gateryx
Есть пакеты для Debian/Ubuntu и докеры для aarch64 и legacy-x86. cargo audit проходит, к чистым дампам воркеров приучен.
Я только что зарелизил на публику Gateryx - это наш собственный WAF/веб-прокси на расте, делался для всякого ембеда поэтому выглядит быстрым и с небольшим memory footprint.
Текущую версию можно в принципе уже пользовать всем (мы сами сидим на пререлизах с лета).
Причина банальна - надоело на каждый сетап разворачивать связки traefik/nginx/authentik (хотя можно подключать и внешний IDP). Ну и я внезапно полюбил пасскеи и OIDC token flows, а они пока там не очень. Вторая причина - это мой личный проект по экспериментам с прикладной криптографией.
https://github.com/eva-ics/gateryx
Есть пакеты для Debian/Ubuntu и докеры для aarch64 и legacy-x86. cargo audit проходит, к чистым дампам воркеров приучен.
GitHub
GitHub - eva-ics/gateryx: Lightweight WAF with built-in IDP
Lightweight WAF with built-in IDP. Contribute to eva-ics/gateryx development by creating an account on GitHub.
🔥28👍7
Ferrocene 25.11.0 кстати вышел неделю назад. Кто держит совместимость с скучными промышленными стандартами, можно поднимать тулчейны до 1.90.
В миру вчера вышел 1.92. Из полезного - некоторые стабилизации std API.
В миру вчера вышел 1.92. Из полезного - некоторые стабилизации std API.
🔥9👍2
Видел в сети, что EU "тайно" приняла Chat Control 2.0. На самом деле нет, после вето в Еврокомиссии закон решили ставить на голосование в Европарламенте, это произойдет, по текущему roadmap, не раньше чем в апреле 2026 года.
Хуже всего в законе, что client-side scanning практически невозможно реализовать с точки зрения текущего права ЕС, поэтому скорее всего сервисы либо откажудся от P2P-шифрования (что вероятно), либо уйдут из ЕС (что вряд ли), либо заставят клиентов отправлять копию каждого сообщения товарищу майору (что повлечет кучу технических проблем, мы знаем как работают гос. системы). Это всё относится к мессенджерам и email, все эти клауд-диски пока не трогают.
Что делать с точки зрения корпоративной безопасности (исходим из того, что всё что узнала 3rd party - знает и свинья):
- Chat Control не заставляет пользоваться только "сертифицированными" мессенджерами со стучалкой
- Работники компаний не обязаны использовать, скажем Signal, именно из Apple/Google Store. Соотв. велком F-Droid, Apple MDM или прямая установка на аппарат
- Signal из магазина, скорее всего, будет обязан передавать копии сообщений, исходя из географического положения пользователя, а не откуда его скачали. Что повлечет дополнительные утечки, когда товарищ майор из ЕС будет получать сообщения из других стран, если сеть "по ошибке" влетела не туда в GeoIP или включили VPN
В общем у безопасников наступает веселый год. С чем заранее и поздравляю. Эпоха, когда можно было скачать защищенный мессенджер прямо из app store, была счастливой но недолгой.
Все новости можно следить тут
Хуже всего в законе, что client-side scanning практически невозможно реализовать с точки зрения текущего права ЕС, поэтому скорее всего сервисы либо откажудся от P2P-шифрования (что вероятно), либо уйдут из ЕС (что вряд ли), либо заставят клиентов отправлять копию каждого сообщения товарищу майору (что повлечет кучу технических проблем, мы знаем как работают гос. системы). Это всё относится к мессенджерам и email, все эти клауд-диски пока не трогают.
Что делать с точки зрения корпоративной безопасности (исходим из того, что всё что узнала 3rd party - знает и свинья):
- Chat Control не заставляет пользоваться только "сертифицированными" мессенджерами со стучалкой
- Работники компаний не обязаны использовать, скажем Signal, именно из Apple/Google Store. Соотв. велком F-Droid, Apple MDM или прямая установка на аппарат
- Signal из магазина, скорее всего, будет обязан передавать копии сообщений, исходя из географического положения пользователя, а не откуда его скачали. Что повлечет дополнительные утечки, когда товарищ майор из ЕС будет получать сообщения из других стран, если сеть "по ошибке" влетела не туда в GeoIP или включили VPN
В общем у безопасников наступает веселый год. С чем заранее и поздравляю. Эпоха, когда можно было скачать защищенный мессенджер прямо из app store, была счастливой но недолгой.
Все новости можно следить тут
😁19👍9🔥1💩1
Немного о проксировании веб-интерфейсов в embedded.
В embbeded веб-интерфейс гонять может что угодно. От непонятно кем написанного фреймворка под STM или Arduino, до непонятного веб-сервера, который разработчику удалось впихнуть на Linux с Cortex-M. Если на такой интерфейс натянуть современный ingress, он начнет ныть, падать или вообще игнорировать запросы. Для каждого интерфейса - свой подход, но есть общие правила. Интернет забит темами "не могу свой IPMI пробросить через Traefik", но на самом деле обычно всё не так печально.
- HTTP-запрос от ingress должен выглядеть максимально похожим на запрос из веб-браузера (причем желательно браузера, на котором железку тестал рукожопый автор). Любое отличие может стоить того, что железка запрос не обработает
- Самая частая беда - case-sensitive header names. "В миру" на это давно забили, и даже появилась мода отправлять всё с маленькой буквы. Но железки ждут классические capitalized-headers и падают, если им не дать. Если используете напярмую hyper - это называется title case
- Connection. Некоторые сервера ждут ее и падают, если не дать. В HTTP/2 Connection header больше нет - вставляем, будут рады, если поставите в "close"
- Любые собственные заголовки - X-Via, X-Auth-Token и прочее, что может вставлять прокси - выпиливаем без жалости, точнее не вставляем
- Accept-Encoding. Браузер видит ваш фронт-сервер с TLS1.3 и HTTP2 и радостно накидывает brotli, zstd и прочее. Железка, которая ждет максимум gzip или deflate, падает на запросе
- Cookies - если железка ждет куки, она будет ждать только свои и падать на любых посторонних. Никаких маркеров, трекеров и сессий от IDP
Соблюдая эти нехитрые правила, можно проксировать практически любое.
В embbeded веб-интерфейс гонять может что угодно. От непонятно кем написанного фреймворка под STM или Arduino, до непонятного веб-сервера, который разработчику удалось впихнуть на Linux с Cortex-M. Если на такой интерфейс натянуть современный ingress, он начнет ныть, падать или вообще игнорировать запросы. Для каждого интерфейса - свой подход, но есть общие правила. Интернет забит темами "не могу свой IPMI пробросить через Traefik", но на самом деле обычно всё не так печально.
- HTTP-запрос от ingress должен выглядеть максимально похожим на запрос из веб-браузера (причем желательно браузера, на котором железку тестал рукожопый автор). Любое отличие может стоить того, что железка запрос не обработает
- Самая частая беда - case-sensitive header names. "В миру" на это давно забили, и даже появилась мода отправлять всё с маленькой буквы. Но железки ждут классические capitalized-headers и падают, если им не дать. Если используете напярмую hyper - это называется title case
- Connection. Некоторые сервера ждут ее и падают, если не дать. В HTTP/2 Connection header больше нет - вставляем, будут рады, если поставите в "close"
- Любые собственные заголовки - X-Via, X-Auth-Token и прочее, что может вставлять прокси - выпиливаем без жалости, точнее не вставляем
- Accept-Encoding. Браузер видит ваш фронт-сервер с TLS1.3 и HTTP2 и радостно накидывает brotli, zstd и прочее. Железка, которая ждет максимум gzip или deflate, падает на запросе
- Cookies - если железка ждет куки, она будет ждать только свои и падать на любых посторонних. Никаких маркеров, трекеров и сессий от IDP
Соблюдая эти нехитрые правила, можно проксировать практически любое.
🔥20👍7💩3😁1
bincode - все. не выдержали харрасмента пользователей.
Вчера один человек поднял тему на реддите, почему bincode ушли на sourcehut с гитхаба и забили на все issues что им писали.
В топик пришла авторка бинкода и обьяснила что мол нечего пользоваться 2.х если не нравится, а баги она сама порешает.
Пост перешел во взаимные пожелания вступить друг с другом в половые отношения, после чего модераторы снесли всю ветку.
Сегодня появилось продолжение, где bincode официально хоронится.
https://www.reddit.com/r/rust/s/esy2TnOEfi
Вчера один человек поднял тему на реддите, почему bincode ушли на sourcehut с гитхаба и забили на все issues что им писали.
В топик пришла авторка бинкода и обьяснила что мол нечего пользоваться 2.х если не нравится, а баги она сама порешает.
Пост перешел во взаимные пожелания вступить друг с другом в половые отношения, после чего модераторы снесли всю ветку.
Сегодня появилось продолжение, где bincode официально хоронится.
https://www.reddit.com/r/rust/s/esy2TnOEfi
Reddit
From the rust community on Reddit
Explore this post and more from the rust community
😁24💩6👍3🔥1
(Проблемы дедов)
Mikrotik RB1100AHx2 работал в офисе с октября 2013 года. Вчера не поднялся при ребуте. При визуальном осмотре выяснилось, что виноват сетевой кабель, который за 12 лет слегка перегнулся и плохо пропускал амперы от PoE на стартовый импульс.
Принимаются ставки, сколько еще проработает сам роутер. Кстати кондюки еще ни разу не перепаивались.
Mikrotik RB1100AHx2 работал в офисе с октября 2013 года. Вчера не поднялся при ребуте. При визуальном осмотре выяснилось, что виноват сетевой кабель, который за 12 лет слегка перегнулся и плохо пропускал амперы от PoE на стартовый импульс.
Принимаются ставки, сколько еще проработает сам роутер. Кстати кондюки еще ни разу не перепаивались.
🔥22👍4😁3💩1
OIDC чуть более чем половины современных продуктов почему-то сводится к тому, что все рады раздавать токены и пихать их в JWT Assertion, но когда дело доходит до проверки чужих, то начинаются отмазы в стиле "просто положите юзернейм в заголовок и мы будем ему доверять" с предложением вернуться в 80е с hosts allow, L4-фаерволами и авторизацией по айпи.
Проблема естественно в том, что когда вы раздаете токены - достаточно присобачить первый попавшийся модуль, который умеет что-то там генерить. А вот когда проверяете - поддерживать как минимум 4 самых популярных формата (RSA, EC, OCT и OKP/ED25519), а все хотят быть только писателями.
Графана, например, шла к проверке assertion почему-то аж до 10й своей версии. Причем это до сих пор реализовано у них через жопу. JWK они понимают а JWKS уже нет - извольте сами распарсить oidc configuration и вынять один ключ. Про остальных промолчу. Как промолчу про саму убогость формата, который предложил забить на PKCS и раскладывать кривые на x/y.
Проблема естественно в том, что когда вы раздаете токены - достаточно присобачить первый попавшийся модуль, который умеет что-то там генерить. А вот когда проверяете - поддерживать как минимум 4 самых популярных формата (RSA, EC, OCT и OKP/ED25519), а все хотят быть только писателями.
Графана, например, шла к проверке assertion почему-то аж до 10й своей версии. Причем это до сих пор реализовано у них через жопу. JWK они понимают а JWKS уже нет - извольте сами распарсить oidc configuration и вынять один ключ. Про остальных промолчу. Как промолчу про саму убогость формата, который предложил забить на PKCS и раскладывать кривые на x/y.
👍11😁5