Skip to content

Commit

Permalink
More refactorings
Browse files Browse the repository at this point in the history
  • Loading branch information
dvob committed Jul 27, 2024
1 parent 56d9053 commit 4deac76
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 26 deletions.
15 changes: 0 additions & 15 deletions cmd/pcert/certificate_options.go

This file was deleted.

13 changes: 10 additions & 3 deletions cmd/pcert/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,23 @@ the key (<name>.key).`,
return err
}

certPEM, keyPEM, err := pcert.CreateWithKeyOptions(cert.cert, key.opts, signPair.cert, signPair.key)
certDER, privateKey, err := pcert.CreateWithKeyOptions(cert.cert, key.opts, signPair.cert, signPair.key)
if err != nil {
return err
}

err = os.WriteFile(key.path, keyPEM, 0o600)
keyPEM, err := pcert.EncodeKey(privateKey)
if err != nil {
return err
}

certPEM := pcert.Encode(certDER)

err = os.WriteFile(key.path, keyPEM, 0600)
if err != nil {
return fmt.Errorf("failed to write key '%s': %w", key.path, err)
}
err = os.WriteFile(cert.path, certPEM, 0o640)
err = os.WriteFile(cert.path, certPEM, 0640)
if err != nil {
return fmt.Errorf("failed to write certificate '%s': %w", key.path, err)
}
Expand Down
8 changes: 4 additions & 4 deletions cmd/pcert/create2.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ type createCommand struct {
SignKeyLocation string

Profile []string
CertificateOptions CertificateOptions
CertificateOptions pcert.CertificateOptions
KeyOptions pcert.KeyOptions
}

Expand All @@ -47,7 +47,7 @@ func newCreate2Cmd() *cobra.Command {
KeyOutputLocation: "",
SignCertificateLocation: "",
SignKeyLocation: "",
CertificateOptions: CertificateOptions{},
CertificateOptions: pcert.CertificateOptions{},
KeyOptions: pcert.KeyOptions{},
}
cmd := &cobra.Command{
Expand All @@ -73,7 +73,7 @@ pcert create tls.crt
createCommand.KeyOutputLocation = args[1]
}

certTemplate := NewCertificate(&createCommand.CertificateOptions)
certTemplate := pcert.NewCertificate(&createCommand.CertificateOptions)

for _, p := range createCommand.Profile {
switch p {
Expand Down Expand Up @@ -179,6 +179,6 @@ pcert create tls.crt
cmd.Flags().StringVarP(&createCommand.SignCertificateLocation, "sign-cert", "s", createCommand.SignCertificateLocation, "Certificate used to sign. If not specified a self-signed certificate is created")
cmd.Flags().StringVar(&createCommand.SignKeyLocation, "sign-key", createCommand.SignKeyLocation, "Key used to sign. If not specified but --sign-cert is specified we use the key file relative to the certificate specified with --sign-cert.")
cmd.Flags().StringSliceVar(&createCommand.Profile, "profile", createCommand.Profile, "Certificates profiles to apply (server, client, ca)")
createCommand.CertificateOptions.BindFlags(cmd.Flags())
BindCertificateOptionsFlags(cmd.Flags(), &createCommand.CertificateOptions)
return cmd
}
13 changes: 10 additions & 3 deletions cmd/pcert/request.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,23 @@ func newRequestCmd() *cobra.Command {
key.path = name + keyFileSuffix
}

csrPEM, keyPEM, err := pcert.RequestWithKeyOptions(csr, key.opts)
csrDER, privateKey, err := pcert.CreateRequestWithKeyOptions(csr, key.opts)
if err != nil {
return err
}

err = os.WriteFile(key.path, keyPEM, 0o600)
keyPEM, err := pcert.EncodeKey(privateKey)
if err != nil {
return err
}

csrPEM := pcert.EncodeCSR(csrDER)

err = os.WriteFile(key.path, keyPEM, 0600)
if err != nil {
return fmt.Errorf("failed to write key '%s': %w", key.path, err)
}
err = os.WriteFile(csrFile, csrPEM, 0o640)
err = os.WriteFile(csrFile, csrPEM, 0640)
if err != nil {
return fmt.Errorf("failed to write CSR '%s': %w", csrFile, err)
}
Expand Down
5 changes: 4 additions & 1 deletion cmd/pcert/sign.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,13 @@ func newSignCmd() *cobra.Command {
return err
}

certPEM, err := pcert.SignCSR(csr, cert.cert, signPair.cert, signPair.key)
certDER, err := pcert.CreateCertificateWithCSR(csr, cert.cert, signPair.cert, signPair.key)
if err != nil {
return err
}

certPEM := pcert.Encode(certDER)

err = os.WriteFile(cert.path, certPEM, 0o640)
return err
},
Expand Down

0 comments on commit 4deac76

Please sign in to comment.