mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-12-05 15:37:35 +00:00
Vendor cfssl and cfssljson
This commit is contained in:
82
vendor/github.com/cloudflare/cfssl/cli/genkey/genkey.go
generated
vendored
Normal file
82
vendor/github.com/cloudflare/cfssl/cli/genkey/genkey.go
generated
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
// Package genkey implements the genkey command.
|
||||
package genkey
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
|
||||
"github.com/cloudflare/cfssl/cli"
|
||||
"github.com/cloudflare/cfssl/csr"
|
||||
"github.com/cloudflare/cfssl/initca"
|
||||
)
|
||||
|
||||
var genkeyUsageText = `cfssl genkey -- generate a new key and CSR
|
||||
|
||||
Usage of genkey:
|
||||
cfssl genkey CSRJSON
|
||||
|
||||
Arguments:
|
||||
CSRJSON: JSON file containing the request, use '-' for reading JSON from stdin
|
||||
|
||||
Flags:
|
||||
`
|
||||
|
||||
var genkeyFlags = []string{"initca", "config"}
|
||||
|
||||
func genkeyMain(args []string, c cli.Config) (err error) {
|
||||
csrFile, args, err := cli.PopFirstArgument(args)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if len(args) > 0 {
|
||||
return errors.New("only one argument is accepted, please check with usage")
|
||||
}
|
||||
|
||||
csrFileBytes, err := cli.ReadStdin(csrFile)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
req := csr.CertificateRequest{
|
||||
KeyRequest: csr.NewBasicKeyRequest(),
|
||||
}
|
||||
err = json.Unmarshal(csrFileBytes, &req)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if c.IsCA {
|
||||
var key, csrPEM, cert []byte
|
||||
cert, csrPEM, key, err = initca.New(&req)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
cli.PrintCert(key, csrPEM, cert)
|
||||
} else {
|
||||
if req.CA != nil {
|
||||
err = errors.New("ca section only permitted in initca")
|
||||
return
|
||||
}
|
||||
|
||||
var key, csrPEM []byte
|
||||
g := &csr.Generator{Validator: Validator}
|
||||
csrPEM, key, err = g.ProcessRequest(&req)
|
||||
if err != nil {
|
||||
key = nil
|
||||
return
|
||||
}
|
||||
|
||||
cli.PrintCert(key, csrPEM, nil)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Validator does nothing and will never return an error. It exists because creating a
|
||||
// csr.Generator requires a Validator.
|
||||
func Validator(req *csr.CertificateRequest) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Command assembles the definition of Command 'genkey'
|
||||
var Command = &cli.Command{UsageText: genkeyUsageText, Flags: genkeyFlags, Main: genkeyMain}
|
||||
Reference in New Issue
Block a user