diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 16d474d..993ace4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,4 +38,4 @@ release: GIT_DEPTH: 0 script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - goreleaser release --rm-dist \ No newline at end of file + - goreleaser release --rm-dist diff --git a/.gitlab/.gitlab-webide.yml b/.gitlab/.gitlab-webide.yml new file mode 100644 index 0000000..d8bf3f6 --- /dev/null +++ b/.gitlab/.gitlab-webide.yml @@ -0,0 +1,3 @@ +terminal: + image: registry.gitlab.com/inetmock/ci-image + script: sleep 60 diff --git a/cmd/inetmock/main.go b/cmd/inetmock/main.go index 585a1c8..f478e04 100644 --- a/cmd/inetmock/main.go +++ b/cmd/inetmock/main.go @@ -1,24 +1,14 @@ package main import ( - "fmt" - "gitlab.com/inetmock/inetmock/internal/cmd" _ "gitlab.com/inetmock/inetmock/plugins/dns_mock" _ "gitlab.com/inetmock/inetmock/plugins/http_mock" _ "gitlab.com/inetmock/inetmock/plugins/http_proxy" _ "gitlab.com/inetmock/inetmock/plugins/metrics_exporter" _ "gitlab.com/inetmock/inetmock/plugins/tls_interceptor" - "go.uber.org/zap" ) func main() { - logger, _ := zap.NewProduction() - defer func() { - if err := logger.Sync(); err != nil { - fmt.Printf(err.Error()) - } - }() - cmd.ExecuteServerCommand() } diff --git a/internal/cmd/ca.go b/internal/cmd/ca.go index c1c3012..df84505 100644 --- a/internal/cmd/ca.go +++ b/internal/cmd/ca.go @@ -28,8 +28,10 @@ const ( ) var ( - generateCaCmd *cobra.Command - caCertOptions cert.GenerationOptions + generateCaCmd *cobra.Command + caCertOptions cert.GenerationOptions + notBefore, notAfter time.Duration + certOutPath, curveName string ) func init() { @@ -48,32 +50,15 @@ func init() { generateCaCmd.Flags().StringSliceVar(&caCertOptions.Locality, generateCaLocalityName, nil, "Locality information to append to certificate") generateCaCmd.Flags().StringSliceVar(&caCertOptions.StreetAddress, generateCaStreetAddressName, nil, "Street address information to append to certificate") generateCaCmd.Flags().StringSliceVar(&caCertOptions.PostalCode, generateCaPostalCodeName, nil, "Postal code information to append to certificate") - generateCaCmd.Flags().String(generateCACertOutPath, "", "Path where CA files should be stored") - generateCaCmd.Flags().String(generateCACurveName, "", "Name of the curve to use, if empty ED25519 is used, other valid values are [P224, P256,P384,P521]") - generateCaCmd.Flags().Duration(generateCANotBeforeRelative, 17520*time.Hour, "Relative time value since when in the past the CA certificate should be valid. The value has a time unit, the greatest time unit is h for hour.") - generateCaCmd.Flags().Duration(generateCANotAfterRelative, 17520*time.Hour, "Relative time value until when in the future the CA certificate should be valid. The value has a time unit, the greatest time unit is h for hour.") + generateCaCmd.Flags().StringVar(&certOutPath, generateCACertOutPath, "", "Path where CA files should be stored") + generateCaCmd.Flags().StringVar(&curveName, generateCACurveName, "", "Name of the curve to use, if empty ED25519 is used, other valid values are [P224, P256,P384,P521]") + generateCaCmd.Flags().DurationVar(¬Before, generateCANotBeforeRelative, 17520*time.Hour, "Relative time value since when in the past the CA certificate should be valid. The value has a time unit, the greatest time unit is h for hour.") + generateCaCmd.Flags().DurationVar(¬After, generateCANotAfterRelative, 17520*time.Hour, "Relative time value until when in the future the CA certificate should be valid. The value has a time unit, the greatest time unit is h for hour.") } func runGenerateCA(_ *cobra.Command, _ []string) { - var certOutPath, curveName string - var notBefore, notAfter time.Duration - var err error - logger := server.Logger().Named("generate-ca") - if certOutPath, err = getStringFlag(generateCaCmd, generateCACertOutPath, logger); err != nil { - return - } - if curveName, err = getStringFlag(generateCaCmd, generateCACurveName, logger); err != nil { - return - } - if notBefore, err = getDurationFlag(generateCaCmd, generateCANotBeforeRelative, logger); err != nil { - return - } - if notAfter, err = getDurationFlag(generateCaCmd, generateCANotAfterRelative, logger); err != nil { - return - } - logger = logger.With( zap.String(generateCACurveName, curveName), zap.String(generateCACertOutPath, certOutPath), @@ -90,6 +75,7 @@ func runGenerateCA(_ *cobra.Command, _ []string) { }, }) + var err error var caCrt *tls.Certificate if caCrt, err = generator.CACert(caCertOptions); err != nil { logger.Error( diff --git a/pkg/cert/generator.go b/pkg/cert/generator.go index 64110c1..a59eadb 100644 --- a/pkg/cert/generator.go +++ b/pkg/cert/generator.go @@ -140,8 +140,8 @@ func (g generator) CACert(options GenerationOptions) (crt *tls.Certificate, err PostalCode: options.PostalCode, }, IsCA: true, - NotBefore: g.timeSource.UTCNow().Add(-g.options.Validity.Server.NotBeforeRelative), - NotAfter: g.timeSource.UTCNow().Add(g.options.Validity.Server.NotAfterRelative), + NotBefore: g.timeSource.UTCNow().Add(-g.options.Validity.CA.NotBeforeRelative), + NotAfter: g.timeSource.UTCNow().Add(g.options.Validity.CA.NotAfterRelative), KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign, ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth}, BasicConstraintsValid: true,