From 9f11b6f012ab33f89ff59602e018ec74a03a1221 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 1 Mar 2016 15:07:30 +0100 Subject: Add load key pair --- desire.go | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) (limited to 'desire.go') diff --git a/desire.go b/desire.go index 838b59b..5d85e61 100644 --- a/desire.go +++ b/desire.go @@ -35,11 +35,30 @@ func (d *Desire) HasSolver() bool { return len(d.solver) > 0 } -func (d *Desire) Save(cert, key string) error { - if err := d.saveKey(key); err != nil { +func (d *Desire) CSR() (string, error) { + tmpl := x509.CertificateRequest{ + Subject: pkix.Name{CommonName: d.altnames[0]}, + } + if len(d.altnames) > 1 { + tmpl.DNSNames = d.altnames + } + der, err := x509.CreateCertificateRequest(rand.Reader, &tmpl, d.cert.PrivateKey) + if err != nil { + return "", err + } + return base64.RawURLEncoding.EncodeToString(der), nil +} + +func (d *Desire) LoadKeyPair(certFile, keyFile string) (err error) { + d.cert, err = tls.LoadX509KeyPair(certFile, keyFile) + return +} + +func (d *Desire) SaveKeyPair(certFile, keyFile string) error { + if err := d.saveKey(keyFile); err != nil { return err } - return d.saveCert(cert) + return d.saveCert(certFile) } func (d *Desire) saveKey(fname string) error { @@ -64,17 +83,3 @@ func (d *Desire) saveCert(fname string) error { } return nil } - -func (d *Desire) CSR() (string, error) { - tmpl := x509.CertificateRequest{ - Subject: pkix.Name{CommonName: d.altnames[0]}, - } - if len(d.altnames) > 1 { - tmpl.DNSNames = d.altnames - } - der, err := x509.CreateCertificateRequest(rand.Reader, &tmpl, d.cert.PrivateKey) - if err != nil { - return "", err - } - return base64.RawURLEncoding.EncodeToString(der), nil -} -- cgit v1.2.3