mirror of
https://git.numenor-labs.us/dsfx.git
synced 2025-04-29 16:20:34 +00:00
30 lines
525 B
Go
30 lines
525 B
Go
package main
|
|
|
|
import (
|
|
"crypto/ecdsa"
|
|
"crypto/x509"
|
|
"encoding/pem"
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func LoadMasterKey(path string) (*ecdsa.PrivateKey, error) {
|
|
masterKeyFile, err := os.ReadFile(path)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
// The second argument is not an error.
|
|
derEncoded, _ := pem.Decode(masterKeyFile)
|
|
if derEncoded == nil {
|
|
return nil, fmt.Errorf("failed to decode master key file")
|
|
}
|
|
|
|
masterKey, err := x509.ParseECPrivateKey(derEncoded.Bytes)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return masterKey, nil
|
|
}
|