Format des fichiers de trousseaux de clés

Je tombe sur un problème…
Je transforme la clef ~/.ssb/secret en ~/.ssb/g1.pubsec.dunikey

echo "pub: $(cat ~/.ssb/secret | grep public\" | cut -d ' ' -f 4 | cut -d '.' -f 1 | sed s/\"//g | base64 -d | base58)" > ~/.ssb/g1.pubsec.dunikey
echo "sec: $(cat ~/.ssb/secret | grep private\" | cut -d ' ' -f 4 | cut -d '.' -f 1 | sed s/\"//g | base64 -d | base58)" >> ~/.ssb/g1.pubsec.dunikey

Cette clef est bien utilisable dans silkaj, mais quand je la met dans Cesium, NON.
Il reste en « veuillez patienter… » Quand je le redémarre, il a bien pris a clef publique on dirait, mais pas la privée… Et maintenant je suis bloqué en « Veuillez patienter… » avec mon compte membre aussi…

Un bug Cesium ou dans le format du pubsec, ou les 2…
Une idée?

NB: je post ici parce que le git.duniter.org est méga lent

2 Likes

Oui. Silkaj peut utiliser des fichiers PubSec de format :

pub : XXX
sec : XXX

Mais Cesium génère/utilise des fichiers dont le format est :

Type: PubSec
Version: 1
pub: XXX
sec: XXX
(/n peut-être à la fin)

A fouiller de ce côté en premier lieu, à mon avis. Sinon avec d’autres versions de Cesium et/ou sur un autre noeud Duniter.

Le format PubSec n’est à ma connaissance pas documenté, c’est là qu’est l’os.

3 Likes

Oui et d’ailleurs ça me pose des problèmes pour définir le/les format de trousseaux qui seront acceptés par Dunitrust.

Ce serait bien que l’on utilise un format standard existant tel que pkcs8 : RFC 5958 - Asymmetric Key Packages

2 Likes

@matograine, @elois merci
En attendant que le format se stabilise, je vais essayer de trouver un format qui convienne à tous…
Selon la façon dont silkaj parse le fichier, il accepterait le « PubSec » de Cesium?

Et si on adoptait le format de scuttlebutt? J’aime bien leur façon de mettre le type de chiffrage dedans…@9BbJwPDjcyIqrOUPNn0nJZBduWdIrpMk3Cjz5MP361s=.ed25519

Le moins compliqué, c’est quoi?

1 Like

Oui.

  • à court terme, c’est ce qui marche pour ton usage.
  • à long terme, c’est de définir/choisir un standard pour l’écosystème DUBP. Par exemple, sais-tu où le format de ScuttleButt est documenté ?

Le lien à jour est celui-ci : RFC 5958 - Asymmetric Key Packages

1 Like

Ils en parlent là:
https://ssbc.github.io/scuttlebutt-protocol-guide/#keys-and-identities

Du point de vue de l’utilisateur le meilleur format est le diceware!
#manyverse utilise GitHub - staltz/ssb-keys-mnemonic: Module that converts from/to SSB keys and BIP39 mnemonic codes (il faudrait l’internationaliser)…

Ca pemet de casser sa clef en morceau et la laisser à des tiers de confiance…
Une façon de faire son testament https://darkcrystal.pw/

Sinon, pour mon blocage actuel, il me semble qu’il vaut mieux que je parte sur le format PubSec de Cesium vu que silkaj le comprend… @tuxmain natools.py est ok aussi?

NB: En tout cas, jouer avec des clefs dans Cesium, il aime pas… Le mien 1.5.3 reste en “Veuillez Patienter” depuis mes essais… Je vais devoir le réinstaller je crois

2 Likes

Y a une crate rust qui implémente les mnemonic est qui est déjà internationalisée (anglais, français, italien, espagnol, japonais, coréen, chinois) : GitHub - maciejhirsz/tiny-bip39: A Rust implementation of BIP-0039

Très intéressant ces mnemonic, je compte bien proposer ça dans Dunitrust :smiley:

1 Like

Et sinon, comment on peut l’utiliser tout de suite?

C’est une lib, faut créer un binaire qui s’en sert et qui expose des commandes, c’est plutôt simple a faire mais j’ai déjà plus prioritaire pour les semaines a venir. Ça peut être un exercice intéressant pour @tuxmain ou @dvermd :slight_smile: Ou peut-être un chantier pour la péniche ? :wink:

2 Likes

Allez, on fait la course…
https://iancoleman.io/bip39/#french

lol non je peut pas j’ai un milliard de truc a faire et la compet n’est pas un moteur chez moi :wink:

@Frederic_Renault @matograine voila j’ai ouvert le chantier de la définition d’un format standard pour l’éco-système Ğ1 :

@Frederic_Renault je n’ai pas inclus le format de scuttlebutt car ils stockent la clé privée, ce qui ne respecte pas l’une des contraintes.

1 Like