]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Tcl формат KEKS данных
authorSergey Matveev <stargrave@stargrave.org>
Sun, 28 Sep 2025 07:33:20 +0000 (10:33 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 28 Sep 2025 07:33:20 +0000 (10:33 +0300)
Так как формат публичных ключей у меня поменялся, из-за изменения
формата подписанных (1622a2b02d847235ed48eae27b14868bc7604c36) данных,
то ключи мне надо конвертировать. По сути просто поменять местоположение
нескольких полей.

Как же удобно это можно сделать через промежуточное Tcl представление.
kekspp -tcl <key.pub выдаст мне портянку с:

    MAGIC "cm/pub"
    MAP {
      load {MAP {
        t {STR "pub"}
        v {MAP {
          id {BIN [binary decode hex "5ad..."]}
    [...]

которую я просто в редакторе исправляю в:

    MAGIC "cm/pub"
    MAP {
      tbs {MAP {
        t {STR "pub"}
      }}
      data {MAP {
        id {BIN [binary decode hex "5ad..."]}
    [...]

и делаю keks.tcl </tmp/... | xxd -r -p >new.pub

Для MessagePack я не помню с ходу инструментов с промежуточным
представлением. Для ASN.1 точно были, но работали не всегда хорошо
(детали не вспомню за сроком давности).


No differences found