Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

canlock.go

0 views
Skip to first unread message

Stefan Claas

unread,
Feb 6, 2024, 4:13:11 PMFeb 6
to
Hallo miteinander,

ist das so richtig?

$ canlock -generate-lock -generate-key -secret=test
-message-id=20240206.210...@example.org
Cancel-Lock: sha256:AghEgaJNkAbZcL4Q2w1IJLSQGM9ghEuhhRcRbrjS2Hc=
Cancel-Key: sha256:V/rQJ/Q8rBZYnnu+0jXz+VwWMyE46KdHxvYZxHP1/io=

Grüße
Stefan
--
----Ed25519 Signature----
c83d1ac90edd691a582126190caf83db6b91a33c41bd267ab90e88a6a30c6488
18bb89f48d9642cd046f5270d32e0416140014cacec4fc4650fd1f4b77eb7b03

Marcel Logen

unread,
Feb 6, 2024, 5:52:55 PMFeb 6
to
Stefan Claas in de.test:

>ist das so richtig?

Auf die Schnelle. IMHO nein.

>$ canlock -generate-lock -generate-key -secret=test
>-message-id=20240206.210...@example.org
>Cancel-Lock: sha256:AghEgaJNkAbZcL4Q2w1IJLSQGM9ghEuhhRcRbrjS2Hc=
>Cancel-Key: sha256:V/rQJ/Q8rBZYnnu+0jXz+VwWMyE46KdHxvYZxHP1/io=

Die Message-ID muß mit den spitzen Klammern angegeben
werden, also wohl so

-message-id='<20240206...org>'

Und ich glaube, daß Dein Cancel-Lock eigentlich der
Cancel-Key ist.

Daraus kann man dann den Cancel-Lock mit

Base64(SHA256(Base64(K)))

errechnen. Siehe RFC8315
<https://datatracker.ietf.org/doc/html/rfc8315#section-5.1>.

Also wäre es eigentlich so richtig (IMHO):

Statt

| user15@o15:/tmp$ printf '%s' '20240206.210...@example.org' | openssl dgst -sha256 -hmac 'test' -binary | openssl enc -base64 -e
| AghEgaJNkAbZcL4Q2w1IJLSQGM9ghEuhhRcRbrjS2Hc=

sollte es so sein:

| user15@o15:/tmp$ printf '%s' '<20240206.210...@example.org>' | openssl dgst -sha256 -hmac 'test' -binary | openssl enc -base64 -e
| ytQ41A2Ptgmoks7lq78hk4Ez8R+fWfGM5D6Fcoh8euQ=

Das ist der Cancel-Key.

| user15@o15:/tmp$ printf '%s' 'ytQ41A2Ptgmoks7lq78hk4Ez8R+fWfGM5D6Fcoh8euQ=' | openssl dgst -sha256 -binary | openssl enc -base64 -e
| ksr6LeCfVtI0TkkqHsVIvagUTbEWIQAxdPZ5BpcZ3vg=

Das wäre der zugehörige Cancel-Lock.

Ich hoffe, da ist jetzt kein Fehler drin.

Marcel
--
╭───╮ ╭──╮ ╭─────╮ ╭───────╮ ╭────╮ ..67..
╰─╮ │ ╭───╯ ╰───╮ ╰─╮ │ ╰─╮ ╭──╯ │ │ ..67..
╭─╯ │ ╰───╮..15..│ ╭──╮ ╭─╮ │ ╰─────╮ │ │ ╭─╯ ╰─╮ ╭─╮
──╯ ╰──────╯ ╰───╯ ╰──╯ ╰──╯ ╰─╯ ╰──╯ ..57..╰─╯ ╰─────

Stefan Claas

unread,
Feb 6, 2024, 6:03:01 PMFeb 6
to
Marcel Logen wrote:

> Stefan Claas in de.test:
>
> >ist das so richtig?
>
> Auf die Schnelle. IMHO nein.

O.k., Danke!
Vielen Dank, ich werde dann den Code nochmals ändern.


Grüße
Stefan
--
----Ed25519 Signature----
c4decf4ca96fd64c50d1972adbe9a771787687d3c07f17ed6165ab57a6ec9fbd
006a53c060f3095a77230149b2e997d1ad69e42f8c675fe1ba4b4133e8e0f00f

Stefan Claas

unread,
Feb 6, 2024, 6:47:05 PMFeb 6
to
Marcel Logen wrote:

> Ich hoffe, da ist jetzt kein Fehler drin.

Ich habe jetzt das selbe Ergebnis und hoffe
auch das da kein Fehler drin ist, obwohl ich
das bei dir nicht glaube. :-)


$ go run canlock.go -generate-lock -generate-key -secret test
-message-id "<20240206.210...@example.org>"
Cancel-Key: sha256:ytQ41A2Ptgmoks7lq78hk4Ez8R+fWfGM5D6Fcoh8euQ=
Cancel-Lock: sha256:ksr6LeCfVtI0TkkqHsVIvagUTbEWIQAxdPZ5BpcZ3vg=

Grüße und Gute Nacht
Stefan
--
----Ed25519 Signature----
fa0c89371fff6c257feea03472a77efd207e28216ab69d3067c799082ace106d
8f6939728ce4e6cb2b6b8f4f691c991d107aa3b638b8f7863e45453eece5c903

Michael Bäuerle

unread,
Feb 7, 2024, 6:08:05 AMFeb 7
to
Stefan Claas wrote:
> Marcel Logen wrote:
> >
> > Ich hoffe, da ist jetzt kein Fehler drin.
>
> Ich habe jetzt das selbe Ergebnis und hoffe
> auch das da kein Fehler drin ist, obwohl ich
> das bei dir nicht glaube. :-)
>
>
> $ go run canlock.go -generate-lock -generate-key -secret test
> -message-id "<20240206.210...@example.org>"
> Cancel-Key: sha256:ytQ41A2Ptgmoks7lq78hk4Ez8R+fWfGM5D6Fcoh8euQ=
> Cancel-Lock: sha256:ksr6LeCfVtI0TkkqHsVIvagUTbEWIQAxdPZ5BpcZ3vg=

Zum Vergleich das CLI-Utilityš für libcanlock:
|
| $ printf "%s" "test" | canlock -k '<20240206.210...@example.org>'
| sha256:ytQ41A2Ptgmoks7lq78hk4Ez8R+fWfGM5D6Fcoh8euQ=
| $ printf "%s" "test" | canlock -l '<20240206.210...@example.org>'
| sha256:ksr6LeCfVtI0TkkqHsVIvagUTbEWIQAxdPZ5BpcZ3vg=


_____________
š Bei Debian ist das als separates Paket "canlock" verfügbar:
<https://packages.debian.org/bookworm/canlock>

Stefan Claas

unread,
Feb 7, 2024, 7:07:49 AMFeb 7
to
Michael Bäuerle wrote:

> Stefan Claas wrote:
> > Marcel Logen wrote:
> > >
> > > Ich hoffe, da ist jetzt kein Fehler drin.
> >
> > Ich habe jetzt das selbe Ergebnis und hoffe
> > auch das da kein Fehler drin ist, obwohl ich
> > das bei dir nicht glaube. :-)
> >
> >
> > $ go run canlock.go -generate-lock -generate-key -secret test
> > -message-id "<20240206.210...@example.org>"
> > Cancel-Key: sha256:ytQ41A2Ptgmoks7lq78hk4Ez8R+fWfGM5D6Fcoh8euQ=
> > Cancel-Lock: sha256:ksr6LeCfVtI0TkkqHsVIvagUTbEWIQAxdPZ5BpcZ3vg=
>
> Zum Vergleich das CLI-Utility¹ für libcanlock:
> |
> | $ printf "%s" "test" | canlock -k
> '<20240206.210...@example.org>' |
> sha256:ytQ41A2Ptgmoks7lq78hk4Ez8R+fWfGM5D6Fcoh8euQ= | $ printf "%s"
> "test" | canlock -l '<20240206.210...@example.org>' |
> sha256:ksr6LeCfVtI0TkkqHsVIvagUTbEWIQAxdPZ5BpcZ3vg=

Vielen Dank für die Bestätigung! Ich muss nur aufpassen, bei der M-ID,
' ' zu nutzen und nicht " ", da das zu Fehlern führen kann, wie ich
durch den Wikipedia Eintrag von Canel-Lock sehen konnte und dessen Perl
Beispiele.

>
>
> _____________
> ¹ Bei Debian ist das als separates Paket "canlock" verfügbar:
> <https://packages.debian.org/bookworm/canlock>

Ah ja, Danke. Ich hatte bei mir das wegen Windows gemacht und dazu
auch eine .exe erstellt.

Grüße
Stefan
--
----Ed25519 Signature----
587961b29ab4f9332cf39424b4213d36b61da01aeb743a78874e4a1a237f7fea
90367342a66e9cbf85f1d239bb248b616d0ba993cdeb3166a083083a77cdaf0d

Marcel Logen

unread,
Feb 7, 2024, 9:11:35 AMFeb 7
to
Stefan Claas in de.test:

>Michael Bäuerle wrote:

>Vielen Dank für die Bestätigung! Ich muss nur aufpassen, bei der M-ID,
>' ' zu nutzen und nicht " ", da das zu Fehlern führen kann, wie ich
>durch den Wikipedia Eintrag von Canel-Lock sehen konnte und dessen Perl
>Beispiele.

Ja, die "" in der Shell können zu Problemen führen, wenn
in der Message-ID ein "$" vorkommt (dann wird das nämlich
als Variablen-Auswertung angesehen).

Was das mit den Perl-Beispielen zu tun hat, habe ich aber
noch nicht verstanden. Vielleicht ist da auch ein Fehler
drin; dann müßte ich den Wikipedia-Artikel noch mal über-
arbeiten.

>> ¹ Bei Debian ist das als separates Paket "canlock" verfügbar:
>> <https://packages.debian.org/bookworm/canlock>
>
>Ah ja, Danke. Ich hatte bei mir das wegen Windows gemacht und dazu
>auch eine .exe erstellt.

Auch von mir danke, Michael.

"canlock" gibt es sogar auch für mein oldoldstable-Debian
("buster"):

| user15@o15:/tmp$ lsb_release -a
| No LSB modules are available.
| Distributor ID: Debian
| Description: Debian GNU/Linux 10 (buster)
| Release: 10
| Codename: buster
| user15@o15:/tmp$

<https://packages.debian.org/buster/news/canlock>

Marcel
--
╭────╮ ╭───╮ ╭───────╮ ..54..╭─╮ ╭──╮
╭──╯ ╭─╯ ..15..╭─────╮ │ ╰─╯ ╭────╯ ╭───────╮ ╭──╯ ╰─╯ ╰───╮
╮ │ │ ╭─╮ ╭─╮ ╰─╮ │ │ ╭──╯ ╭─╮ ╰───╮ │ │ ..63..╭─╯
╰─╯ ╰─╯ ╰──╯ ╰────╯ ╰──╯ ╰─────╯ ╰──────╯ ╰─╯ ..63..╰───

Marcel Logen

unread,
Feb 7, 2024, 9:27:59 AMFeb 7
to
Marcel Logen in de.test:

>Stefan Claas in de.test:

>>Vielen Dank für die Bestätigung! Ich muss nur aufpassen, bei der M-ID,
>>' ' zu nutzen und nicht " ", da das zu Fehlern führen kann, wie ich
>>durch den Wikipedia Eintrag von Canel-Lock sehen konnte und dessen Perl
>>Beispiele.
>
>Ja, die "" in der Shell können zu Problemen führen, wenn
>in der Message-ID ein "$" vorkommt (dann wird das nämlich
>als Variablen-Auswertung angesehen).
>
>Was das mit den Perl-Beispielen zu tun hat, habe ich aber
>noch nicht verstanden. Vielleicht ist da auch ein Fehler
>drin; dann müßte ich den Wikipedia-Artikel noch mal über-
>arbeiten.

Ach so, alles klar jetzt!

Die Message-IDs in den Beispielen enthalten ja Dollar-
zeichen ...

Also z. B. mit Bash:

| user15@o15:/tmp$ ( hae='IRGENDWAS' && mid="<dhfgrs$hae$3...@news.example.org>" && echo "$mid" )
| <dhfgrsI...@news.example.org>
| user15@o15:/tmp$

| user15@o15:/tmp$ ( hae='IRGENDWAS' && mid='<dhfgrs$hae$3...@news.example.org>' && echo "$mid" )
| <dhfgrs$hae$3...@news.example.org>
| user15@o15:/tmp$

$3 ergibt oben einen leeren String, da nicht belegt.

Ingrid
--
╭────────╮ ..49..╭─────────────╮
╰──╮ ╭──╯ ╰──╮..59..╭───╯
─╮ │ ╰───╮ ╭──╮ ╭─────╮ ╭─╮ ╭─╮ ╭─────╮ ╭──╮ ╭────╮ │ ╭───╯ ..67..
╰──╯...6..╰─╯ ╰──╯ ╰─╯ ╰─╯ ╰─╯ ╰─╯ ╰──╯ ╰──╯ ╰───────────
0 new messages