Skip to content

Commit 05d753a

Browse files
PCP-1654: CAPA Cipher suit add boringcrypto flag for Max version (#808) (#811)
1 parent 00cd2a6 commit 05d753a

File tree

3 files changed

+37
-7
lines changed

3 files changed

+37
-7
lines changed

main.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ package main
1818

1919
import (
2020
"context"
21+
"crypto/tls"
2122
"errors"
2223
"flag"
2324
"fmt"
2425
"math/rand"
2526
"net/http"
2627
_ "net/http/pprof"
2728
"os"
28-
"time"
29-
"crypto/tls"
3029
"strings"
30+
"time"
3131

3232
v1certmanager "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
3333
"github.com/spf13/pflag"
@@ -41,6 +41,7 @@ import (
4141
"sigs.k8s.io/controller-runtime/pkg/controller"
4242

4343
// +kubebuilder:scaffold:imports
44+
cliflag "k8s.io/component-base/cli/flag"
4445
infrav1alpha3 "sigs.k8s.io/cluster-api-provider-aws/api/v1alpha3"
4546
infrav1alpha4 "sigs.k8s.io/cluster-api-provider-aws/api/v1alpha4"
4647
infrav1 "sigs.k8s.io/cluster-api-provider-aws/api/v1beta1"
@@ -63,12 +64,12 @@ import (
6364
"sigs.k8s.io/cluster-api-provider-aws/pkg/cloud/endpoints"
6465
"sigs.k8s.io/cluster-api-provider-aws/pkg/cloud/scope"
6566
"sigs.k8s.io/cluster-api-provider-aws/pkg/record"
67+
"sigs.k8s.io/cluster-api-provider-aws/util/flags"
6668
"sigs.k8s.io/cluster-api-provider-aws/version"
6769
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
6870
bootstrapv1beta1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1"
6971
controlplanev1beta1 "sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1beta1"
7072
expclusterv1 "sigs.k8s.io/cluster-api/exp/api/v1beta1"
71-
cliflag "k8s.io/component-base/cli/flag"
7273
)
7374

7475
var (
@@ -179,7 +180,7 @@ func main() {
179180
Port: webhookPort,
180181
CertDir: webhookCertDir,
181182
HealthProbeBindAddress: healthAddr,
182-
TLSOpts: tlsOptionOverrides,
183+
TLSOpts: tlsOptionOverrides,
183184
})
184185
if err != nil {
185186
setupLog.Error(err, "unable to start manager")
@@ -325,13 +326,16 @@ func AddTLSOptions(fs *pflag.FlagSet, options *TLSOptions) {
325326
// by the webhook server.
326327
func GetTLSOptionOverrideFuncs(options TLSOptions) ([]func(*tls.Config), error) {
327328
var tlsOptions []func(config *tls.Config)
329+
var insecureSkipverify bool
328330
tlsVersion, err := cliflag.TLSVersion(options.TLSMinVersion)
329331
if err != nil {
330332
return nil, err
331333
}
332334
tlsOptions = append(tlsOptions, func(cfg *tls.Config) {
333335
cfg.MinVersion = tlsVersion
334336
cfg.CipherSuites = GetDefaultTLSCipherSuits()
337+
cfg.MaxVersion = flags.GetTlsMaxVersion()
338+
cfg.InsecureSkipVerify = flags.InsecureSkipVerify(insecureSkipverify)
335339
})
336340

337341
return tlsOptions, nil
@@ -340,9 +344,9 @@ func GetTLSOptionOverrideFuncs(options TLSOptions) ([]func(*tls.Config), error)
340344
func GetDefaultTLSCipherSuits() []uint16 {
341345
return []uint16{
342346
tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
343-
tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
344-
tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
345-
tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
347+
tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
348+
tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
349+
tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
346350
}
347351
}
348352

util/flags/tls_boring.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//go:build boringcrypto
2+
3+
package flags
4+
5+
import "crypto/tls"
6+
7+
func InsecureSkipVerify(insecureSkipVerify bool) bool {
8+
return false
9+
}
10+
11+
func GetTlsMaxVersion() uint16 {
12+
return tls.VersionTLS12
13+
}

util/flags/tls_non_boring.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//go:build !boringcrypto
2+
3+
package flags
4+
5+
import "crypto/tls"
6+
7+
func InsecureSkipVerify(insecureSkipVerify bool) bool {
8+
return insecureSkipVerify
9+
}
10+
11+
func GetTlsMaxVersion() uint16 {
12+
return tls.VersionTLS13
13+
}

0 commit comments

Comments
 (0)