aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--certificate_test.go42
-rw-r--r--ed25519.go4
2 files changed, 28 insertions, 18 deletions
diff --git a/certificate_test.go b/certificate_test.go
index 9951d7a..14b1279 100644
--- a/certificate_test.go
+++ b/certificate_test.go
@@ -16,29 +16,39 @@ var (
)
func TestCertificateCreation(t *testing.T) {
- pk, err := NewPrivateKeyEcdsa(elliptic.P224())
+ ed25519Key, err := NewPrivateKeyEd25519()
if err != nil {
- t.Errorf("cert: creating private key failed: %s", err)
+ t.Errorf("cert: creating private key ed25519 failed: %s", err)
}
-
- csr, err := TestCertificateData.ToCertificateRequest(pk)
+ ecdsaKey, err := NewPrivateKeyEcdsa(elliptic.P224())
if err != nil {
- t.Errorf("cert: creating csr failed: %s", err)
- }
-
- cert_opts := CertificateOptions{
- // KeyUsage: x509.KeyUsageEncipherOnly | x509.KeyUsageKeyEncipherment | x509.KeyUsageCertSign,
- SerialNumber: big.NewInt(1),
- CALength: -1,
+ t.Errorf("cert: creating private key ecdsa failed: %s", err)
}
-
- cert, err := csr.ToCertificate(pk, cert_opts, nil)
+ rsaKey, err := NewPrivateKeyRsa(1024)
if err != nil {
- t.Errorf("cert: creating cert failed: %s", err)
+ t.Errorf("cert: creating private key rsa failed: %s", err)
}
- if !fieldsAreSame(TestCertificateData, cert) {
- t.Errorf("cert: Fields are not the same")
+ for _, pk := range []PrivateKey{rsaKey, ecdsaKey, ed25519Key} {
+ csr, err := TestCertificateData.ToCertificateRequest(pk)
+ if err != nil {
+ t.Errorf("cert: creating csr failed: %s", err)
+ }
+
+ cert_opts := CertificateOptions{
+ // KeyUsage: x509.KeyUsageEncipherOnly | x509.KeyUsageKeyEncipherment | x509.KeyUsageCertSign,
+ SerialNumber: big.NewInt(1),
+ CALength: -1,
+ }
+
+ cert, err := csr.ToCertificate(pk, cert_opts, nil)
+ if err != nil {
+ t.Errorf("cert: creating cert failed: %s", err)
+ }
+
+ if !fieldsAreSame(TestCertificateData, cert) {
+ t.Errorf("cert: Fields are not the same")
+ }
}
}
diff --git a/ed25519.go b/ed25519.go
index 0104beb..c616e70 100644
--- a/ed25519.go
+++ b/ed25519.go
@@ -45,9 +45,9 @@ func LoadPrivateKeyEd25519(raw []byte) (*Ed25519PrivateKey, error) {
return &Ed25519PrivateKey{pr_loaded}, nil
}
-// TODO implement the raw API for the private key
+// PrivateKey returns the private key.
func (pr *Ed25519PrivateKey) PrivateKey() crypto.PrivateKey {
- return nil
+ return pr.private_key
}
// Return the public key for this private key.