mirror of
https://github.com/urbit/shrub.git
synced 2024-12-12 10:29:01 +03:00
b3901ab42f
git-subtree-dir: pkg/arvo git-subtree-mainline:9c8f40bf6c
git-subtree-split:c20e2a185f
32 lines
854 B
Plaintext
32 lines
854 B
Plaintext
:: Create a private key-file
|
|
::
|
|
/- *sole
|
|
/+ *generators
|
|
::
|
|
:- %ask
|
|
|= $: [now=@da eny=@uvJ bec=beak]
|
|
[who=ship ~]
|
|
life=_1
|
|
==
|
|
^- (sole-result (cask cord))
|
|
%+ print leaf+"generating keys for {(scow %p who)}, life #{(scow %ud life)}"
|
|
%+ prompt [%| %pope-pass "passphrase: "]
|
|
%+ parse (boss 256 (star prn))
|
|
|= fra/@t
|
|
=/ bur (shaz (add who (shaz fra)))
|
|
=/ cub (pit:nu:crub:crypto 512 bur)
|
|
::
|
|
=/ pub=pass pub:ex:cub
|
|
=/ mag=cord (end 3 1 pub)
|
|
?> =('b' mag)
|
|
=/ bod=@ (rsh 3 1 pub)
|
|
=/ cry=@ (rsh 8 1 bod)
|
|
=/ sgn=@ (end 8 1 bod)
|
|
%+ print leaf+" authentication: 0x{(render-hex-bytes:ethereum 32 sgn)}"
|
|
%+ print leaf+" networking: 0x{(render-hex-bytes:ethereum 32 cry)}"
|
|
%+ print leaf+"ethereum public keys:"
|
|
::
|
|
=/ sed=seed:able:jael
|
|
[who life sec:ex:cub ~]
|
|
%- produce [%atom (scot %uw (jam sed))]
|