1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- //Package gencrl implements the gencrl command
- package gencrl
- import (
- "github.com/cloudflare/cfssl/cli"
- "github.com/cloudflare/cfssl/crl"
- "strings"
- )
- var gencrlUsageText = `cfssl gencrl -- generate a new Certificate Revocation List
- Usage of gencrl:
- cfssl gencrl INPUTFILE CERT KEY TIME
- Arguments:
- INPUTFILE: Text file with one serial number per line, use '-' for reading text from stdin
- CERT: The certificate that is signing this CRL, use '-' for reading text from stdin
- KEY: The private key of the certificate that is signing the CRL, use '-' for reading text from stdin
- TIME (OPTIONAL): The desired expiration from now, in seconds
- Flags:
- `
- var gencrlFlags = []string{}
- func gencrlMain(args []string, c cli.Config) (err error) {
- serialList, args, err := cli.PopFirstArgument(args)
- if err != nil {
- return
- }
- serialListBytes, err := cli.ReadStdin(serialList)
- if err != nil {
- return
- }
- certFile, args, err := cli.PopFirstArgument(args)
- if err != nil {
- return
- }
- certFileBytes, err := cli.ReadStdin(certFile)
- if err != nil {
- return
- }
- keyFile, args, err := cli.PopFirstArgument(args)
- if err != nil {
- return
- }
- keyBytes, err := cli.ReadStdin(keyFile)
- if err != nil {
- return
- }
- // Default value if no expiry time is given
- timeString := string("0")
- if len(args) > 0 {
- timeArg, _, err := cli.PopFirstArgument(args)
- if err != nil {
- return err
- }
- timeString = string(timeArg)
- // This is used to get rid of newlines
- timeString = strings.TrimSpace(timeString)
- }
- req, err := crl.NewCRLFromFile(serialListBytes, certFileBytes, keyBytes, timeString)
- if err != nil {
- return
- }
- cli.PrintCRL(req)
- return nil
- }
- // Command assembles the definition of Command 'gencrl'
- var Command = &cli.Command{UsageText: gencrlUsageText, Flags: gencrlFlags, Main: gencrlMain}
|