2024-03-22 08:59:59 +01:00
// Copyright (C) NHR@FAU, University Erlangen-Nuremberg.
2022-07-29 06:29:21 +02:00
// All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2022-06-22 11:13:58 +02:00
package main
import (
"crypto/ed25519"
"crypto/rand"
"encoding/base64"
"fmt"
"os"
)
func main ( ) {
// rand.Reader uses /dev/urandom on Linux
pub , priv , err := ed25519 . GenerateKey ( rand . Reader )
if err != nil {
fmt . Fprintf ( os . Stderr , "error: %s\n" , err . Error ( ) )
os . Exit ( 1 )
}
2024-03-22 08:59:59 +01:00
fmt . Fprintf ( os . Stdout , "ED25519 PUBLIC_KEY=%#v\nED25519 PRIVATE_KEY=%#v\n" ,
2022-06-22 11:13:58 +02:00
base64 . StdEncoding . EncodeToString ( pub ) ,
base64 . StdEncoding . EncodeToString ( priv ) )
2024-03-22 08:59:59 +01:00
fmt . Println ( "This is NO JWT token. You can generate JWT tokens with cc-backend. Use this keypair for signing and validation of JWT tokens in ClusterCockpit." )
2022-06-22 11:13:58 +02:00
}