v1.0.0: import: import code from accounts

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
This commit is contained in:
GnomeZworc 2024-03-14 14:01:58 +01:00
commit 7f7fd9395c
Signed by: nicolas.boufideline
GPG key ID: 4406BBBF8845D632
8 changed files with 369 additions and 0 deletions

67
lib/initBiscuit.go Normal file
View file

@ -0,0 +1,67 @@
package lib
import (
"crypto/ed25519"
"crypto/rand"
"io/ioutil"
"os"
"time"
)
var PrivateKey ed25519.PrivateKey
var PublicKey ed25519.PublicKey
var filePrivateKey string = "/keys/privatekey.pem"
var filePublicKey string = "/keys/publickey.pem"
func InitLoginBiscuit() error {
if _, err := os.Stat(filePrivateKey); os.IsNotExist(err) {
rng := rand.Reader
PublicKey, PrivateKey, _ = ed25519.GenerateKey(rng)
if err := ioutil.WriteFile(filePrivateKey, PrivateKey, 0600); err != nil {
return err
}
if err := ioutil.WriteFile(filePublicKey, PublicKey, 0600); err != nil {
return err
}
} else {
var err error = nil
PrivateKey, err = ioutil.ReadFile(filePrivateKey)
if err != nil {
return err
}
PublicKey, err = ioutil.ReadFile(filePublicKey)
if err != nil {
return err
}
}
return nil
}
func InitGlobalBiscuit() error {
for {
time.Sleep(1 * time.Second)
_, err := os.Stat(filePublicKey)
if err == nil {
break
}
}
for {
time.Sleep(1 * time.Second)
_, err := os.Stat(filePrivateKey)
if err == nil {
break
}
}
var err error = nil
PrivateKey, err = ioutil.ReadFile(filePrivateKey)
if err != nil {
return err
}
PublicKey, err = ioutil.ReadFile(filePublicKey)
if err != nil {
return err
}
return nil
}