aboutsummaryrefslogtreecommitdiff
path: root/ed25519.go
diff options
context:
space:
mode:
Diffstat (limited to 'ed25519.go')
-rw-r--r--ed25519.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/ed25519.go b/ed25519.go
index 602ac52..f7a0e12 100644
--- a/ed25519.go
+++ b/ed25519.go
@@ -70,10 +70,17 @@ func (pr *Ed25519PrivateKey) Sign(message []byte, hash crypto.Hash) ([]byte, err
// Export the private key into the Pem format.
func (pr Ed25519PrivateKey) MarshalPem() (io.WriterTo, error) {
- pem_block := pem.Block{Type: PemLabelEd25519, Bytes: pr.private_key[:]}
+ pem_block, err := pr.ToPem()
+ if err != nil { // it does not currently return an error, but maybe that will change
+ return nil, err
+ }
return marshalledPemBlock(pem.EncodeToMemory(&pem_block)), nil
}
+func (pr Ed25519PrivateKey) ToPem() (pem.Block, error) {
+ return pem.Block{Type: PemLabelEd25519, Bytes: pr.private_key[:]}, nil
+}
+
// Load the public key from a raw byte stream.
// TODO should this be read from ASN.1? All other functions do that.
func LoadPublicKeyEd25519(raw []byte) (*Ed25519PublicKey, error) {