From 8b2d9677baeb73047fb88e2c416cf31587ba8545 Mon Sep 17 00:00:00 2001 From: David Eads Date: Fri, 1 Mar 2019 12:34:41 -0500 Subject: [PATCH] UPSTREAM: 00000: add dynamic certificate reloading Origin-commit: 62a8e9edfee30a7c71787fcc8955981fed6fa5e1 --- .../src/k8s.io/apiserver/pkg/server/config.go | 12 +- .../apiserver/pkg/server/config_selfclient.go | 2 +- .../pkg/server/dynamic_certificate.go | 228 ++++++++++++ .../pkg/server/dynamic_certificate_test.go | 1 + .../apiserver/pkg/server/options/serving.go | 24 +- .../pkg/server/options/serving_test.go | 330 +++++------------- .../server/options/serving_with_loopback.go | 4 +- .../testdata/apiserver-loopback-client__/cert | 32 +- .../testdata/apiserver-loopback-client__/key | 50 +-- .../localhost__/cert | 30 +- .../localhost__/key | 50 +-- .../apiserver-loopback-client__/cert | 32 +- .../apiserver-loopback-client__/key | 50 +-- .../server/options/testdata/localhost__/cert | 30 +- .../server/options/testdata/localhost__/key | 50 +-- .../localhost__10.0.0.1,127.0.0.1/cert | 28 +- .../localhost__10.0.0.1,127.0.0.1/key | 50 +-- .../test.com__10.0.0.1/cert | 28 +- .../test.com__10.0.0.1/key | 50 +-- .../testdata/localhost__127.0.0.1/cert | 28 +- .../options/testdata/localhost__127.0.0.1/key | 50 +-- .../localhost__127.0.0.1/localhost__/cert | 30 +- .../localhost__127.0.0.1/localhost__/key | 50 +-- .../localhost__127.0.0.1/test.com__/cert | 30 +- .../localhost__127.0.0.1/test.com__/key | 50 +-- .../test.com_star.test.com_/cert | 28 +- .../test.com_star.test.com_/key | 50 +-- .../localhost_test.com_127.0.0.1/cert | 28 +- .../testdata/localhost_test.com_127.0.0.1/key | 50 +-- .../server/options/testdata/test.com__/cert | 30 +- .../server/options/testdata/test.com__/key | 50 +-- .../testdata/test.com__/localhost__/cert | 30 +- .../testdata/test.com__/localhost__/key | 50 +-- .../apiserver/pkg/server/secure_serving.go | 37 +- .../servingcerttesting/servingcerttesting.go | 179 ++++++++++ .../testdata/apiserver-loopback-client__/cert | 20 ++ .../testdata/apiserver-loopback-client__/key | 27 ++ .../localhost__/cert | 19 + .../localhost__/key | 27 ++ .../apiserver-loopback-client__/cert | 20 ++ .../apiserver-loopback-client__/key | 27 ++ .../testdata/localhost__/cert | 19 + .../testdata/localhost__/key | 27 ++ .../localhost__10.0.0.1,127.0.0.1/cert | 19 + .../localhost__10.0.0.1,127.0.0.1/key | 27 ++ .../test.com__10.0.0.1/cert | 19 + .../test.com__10.0.0.1/key | 27 ++ .../testdata/localhost__127.0.0.1/cert | 19 + .../testdata/localhost__127.0.0.1/key | 27 ++ .../localhost__127.0.0.1/localhost__/cert | 19 + .../localhost__127.0.0.1/localhost__/key | 27 ++ .../localhost__127.0.0.1/test.com__/cert | 19 + .../localhost__127.0.0.1/test.com__/key | 27 ++ .../test.com_star.test.com_/cert | 19 + .../test.com_star.test.com_/key | 27 ++ .../localhost_test.com_127.0.0.1/cert | 19 + .../testdata/localhost_test.com_127.0.0.1/key | 27 ++ .../testdata/test.com__/cert | 19 + .../testdata/test.com__/key | 27 ++ .../testdata/test.com__/localhost__/cert | 19 + .../testdata/test.com__/localhost__/key | 27 ++ 61 files changed, 1659 insertions(+), 792 deletions(-) create mode 100644 staging/src/k8s.io/apiserver/pkg/server/dynamic_certificate.go create mode 100644 staging/src/k8s.io/apiserver/pkg/server/dynamic_certificate_test.go create mode 100644 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/servingcerttesting.go create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/localhost__/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/localhost__/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/apiserver-loopback-client__/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/apiserver-loopback-client__/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/localhost__/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/localhost__/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com__/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com__/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com_star.test.com_/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com_star.test.com_/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost_test.com_127.0.0.1/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost_test.com_127.0.0.1/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/key create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/localhost__/cert create mode 100755 staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/localhost__/key diff --git a/staging/src/k8s.io/apiserver/pkg/server/config.go b/staging/src/k8s.io/apiserver/pkg/server/config.go index 0c8ace5aec8e0..7c52012fe3640 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/config.go +++ b/staging/src/k8s.io/apiserver/pkg/server/config.go @@ -17,7 +17,6 @@ limitations under the License. package server import ( - "crypto/tls" "crypto/x509" "fmt" "net" @@ -206,16 +205,13 @@ type SecureServingInfo struct { // Listener is the secure server network listener. Listener net.Listener - // Cert is the main server cert which is used if SNI does not match. Cert must be non-nil and is - // allowed to be in SNICerts. - Cert *tls.Certificate - - // SNICerts are the TLS certificates by name used for SNI. - SNICerts map[string]*tls.Certificate - // ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates ClientCA *x509.CertPool + // DynamicCertificates is an alternative to Cert and SNICerts that is limited to files, but those file will + // be monitored for changes every minute and allows the certificates to be updated dynamically. + DynamicCertificates *DynamicCertificateConfig + // MinTLSVersion optionally overrides the minimum TLS version supported. // Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). MinTLSVersion uint16 diff --git a/staging/src/k8s.io/apiserver/pkg/server/config_selfclient.go b/staging/src/k8s.io/apiserver/pkg/server/config_selfclient.go index 53f1795275c9e..c9f7395fdbbcf 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/config_selfclient.go +++ b/staging/src/k8s.io/apiserver/pkg/server/config_selfclient.go @@ -28,7 +28,7 @@ import ( const LoopbackClientServerNameOverride = "apiserver-loopback-client" func (s *SecureServingInfo) NewClientConfig(caCert []byte) (*restclient.Config, error) { - if s == nil || (s.Cert == nil && len(s.SNICerts) == 0) { + if s == nil || (s.DynamicCertificates == nil) { return nil, nil } diff --git a/staging/src/k8s.io/apiserver/pkg/server/dynamic_certificate.go b/staging/src/k8s.io/apiserver/pkg/server/dynamic_certificate.go new file mode 100644 index 0000000000000..88c55f827aa61 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/dynamic_certificate.go @@ -0,0 +1,228 @@ +package server + +import ( + "crypto/tls" + "errors" + "fmt" + "io/ioutil" + "reflect" + "strings" + "sync/atomic" + "time" + + "github.com/golang/glog" + + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" +) + +// DynamicCertificateConfig provides a way to have dynamic https configuration for a fixed set of files. +// You need to remember to call CheckCerts before usage and start the go routine for Run. +type DynamicCertificateConfig struct { + CurrentValue atomic.Value + + // LoopbackCert holds the special certificate that we create for loopback connections + LoopbackCert *tls.Certificate + + CurrentContent DynamicCertificateContent + + CertificateReferences DynamicCertificateReferences +} + +type DynamicCertificateReferences struct { + DefaultCertificate CertKeyFileReference + NameToCertificate map[string]*CertKeyFileReference +} + +type CertKeyFileReference struct { + Cert string + Key string +} + +type DynamicCertificateContent struct { + DefaultCertificate CertKeyFileContent + NameToCertificate map[string]*CertKeyFileContent +} + +type CertKeyFileContent struct { + Cert []byte + Key []byte +} + +type RuntimeDynamicCertificateConfig struct { + Certificates []tls.Certificate + NameToCertificate map[string]*tls.Certificate +} + +func (c *DynamicCertificateConfig) GetCertificate(clientHello *tls.ClientHelloInfo) (*tls.Certificate, error) { + uncastObj := c.CurrentValue.Load() + if uncastObj == nil { + return nil, errors.New("tls: configuration not ready") + } + runtimeConfig, ok := uncastObj.(*RuntimeDynamicCertificateConfig) + if !ok { + return nil, errors.New("tls: unexpected config type") + } + return runtimeConfig.GetCertificate(clientHello) +} + +func (c *DynamicCertificateConfig) Run(stopCh <-chan struct{}) { + glog.Infof("Starting DynamicCertificateConfig") + defer glog.Infof("Shutting down DynamicCertificateConfig") + + go wait.Until(func() { + err := c.CheckCerts() + if err != nil { + utilruntime.HandleError(err) + } + }, 1*time.Minute, stopCh) + + <-stopCh +} + +func (c *DynamicCertificateConfig) CheckCerts() error { + newContent := DynamicCertificateContent{ + NameToCertificate: map[string]*CertKeyFileContent{}, + } + + certBytes, err := ioutil.ReadFile(c.CertificateReferences.DefaultCertificate.Cert) + if err != nil { + return err + } + keyBytes, err := ioutil.ReadFile(c.CertificateReferences.DefaultCertificate.Key) + if err != nil { + return err + } + newContent.DefaultCertificate = CertKeyFileContent{Cert: certBytes, Key: keyBytes} + + for key, currRef := range c.CertificateReferences.NameToCertificate { + certBytes, err := ioutil.ReadFile(currRef.Cert) + if err != nil { + return err + } + keyBytes, err := ioutil.ReadFile(currRef.Key) + if err != nil { + return err + } + newContent.NameToCertificate[key] = &CertKeyFileContent{Cert: certBytes, Key: keyBytes} + } + + if newContent.Equals(&c.CurrentContent) { + return nil + } + + newRuntimeConfig, err := newContent.ToRuntimeConfig() + if err != nil { + return err + } + if c.LoopbackCert != nil { + newRuntimeConfig.NameToCertificate[LoopbackClientServerNameOverride] = c.LoopbackCert + } + c.CurrentValue.Store(newRuntimeConfig) + c.CurrentContent = newContent // this is single threaded, so we have no locking issue + + return nil +} + +func (c *DynamicCertificateContent) Equals(rhs *DynamicCertificateContent) bool { + if c == nil && rhs == nil { + return true + } + if c == nil && rhs != nil { + return false + } + if c != nil && rhs == nil { + return false + } + cKeys := sets.StringKeySet(c.NameToCertificate) + rhsKeys := sets.StringKeySet(rhs.NameToCertificate) + if !cKeys.Equal(rhsKeys) { + return false + } + + if !c.DefaultCertificate.Equals(&rhs.DefaultCertificate) { + return false + } + for _, key := range cKeys.UnsortedList() { + if !c.NameToCertificate[key].Equals(rhs.NameToCertificate[key]) { + return false + } + } + + return true +} + +func (c *DynamicCertificateContent) ToRuntimeConfig() (*RuntimeDynamicCertificateConfig, error) { + ret := &RuntimeDynamicCertificateConfig{ + NameToCertificate: map[string]*tls.Certificate{}, + } + + // load main cert + if len(c.DefaultCertificate.Cert) != 0 || len(c.DefaultCertificate.Key) != 0 { + tlsCert, err := tls.X509KeyPair(c.DefaultCertificate.Cert, c.DefaultCertificate.Key) + if err != nil { + return nil, fmt.Errorf("unable to load server certificate: %v", err) + } + ret.Certificates = []tls.Certificate{tlsCert} + } + + // load SNI certs + for name, nck := range c.NameToCertificate { + tlsCert, err := tls.X509KeyPair(nck.Cert, nck.Key) + if err != nil { + return nil, fmt.Errorf("failed to load SNI cert and key: %v", err) + } + ret.NameToCertificate[name] = &tlsCert + } + + return ret, nil +} + +func (c *CertKeyFileContent) Equals(rhs *CertKeyFileContent) bool { + if c == nil && rhs == nil { + return true + } + if c == nil && rhs != nil { + return false + } + if c != nil && rhs == nil { + return false + } + return reflect.DeepEqual(c.Key, rhs.Key) && reflect.DeepEqual(c.Cert, rhs.Cert) +} + +// GetCertificate copied from tls.getCertificate +func (c *RuntimeDynamicCertificateConfig) GetCertificate(clientHello *tls.ClientHelloInfo) (*tls.Certificate, error) { + if len(c.Certificates) == 0 { + return nil, errors.New("tls: no certificates configured") + } + + if c.NameToCertificate == nil { + // There's only one choice, so no point doing any work. + return &c.Certificates[0], nil + } + + name := strings.ToLower(clientHello.ServerName) + for len(name) > 0 && name[len(name)-1] == '.' { + name = name[:len(name)-1] + } + + if cert, ok := c.NameToCertificate[name]; ok { + return cert, nil + } + + // try replacing labels in the name with wildcards until we get a + // match. + labels := strings.Split(name, ".") + for i := range labels { + labels[i] = "*" + candidate := strings.Join(labels, ".") + if cert, ok := c.NameToCertificate[candidate]; ok { + return cert, nil + } + } + + // If nothing matches, return the first certificate. + return &c.Certificates[0], nil +} diff --git a/staging/src/k8s.io/apiserver/pkg/server/dynamic_certificate_test.go b/staging/src/k8s.io/apiserver/pkg/server/dynamic_certificate_test.go new file mode 100644 index 0000000000000..abb4e431abd51 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/dynamic_certificate_test.go @@ -0,0 +1 @@ +package server diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/serving.go b/staging/src/k8s.io/apiserver/pkg/server/options/serving.go index 3ecc7e02094c1..a69f0e546599c 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/options/serving.go +++ b/staging/src/k8s.io/apiserver/pkg/server/options/serving.go @@ -211,14 +211,14 @@ func (s *SecureServingOptions) ApplyTo(config **server.SecureServingInfo) error } c := *config - serverCertFile, serverKeyFile := s.ServerCert.CertKey.CertFile, s.ServerCert.CertKey.KeyFile - // load main cert - if len(serverCertFile) != 0 || len(serverKeyFile) != 0 { - tlsCert, err := tls.LoadX509KeyPair(serverCertFile, serverKeyFile) - if err != nil { - return fmt.Errorf("unable to load server certificate: %v", err) - } - c.Cert = &tlsCert + c.DynamicCertificates = &server.DynamicCertificateConfig{ + CertificateReferences: server.DynamicCertificateReferences{ + DefaultCertificate: server.CertKeyFileReference{ + Cert: s.ServerCert.CertKey.CertFile, + Key: s.ServerCert.CertKey.KeyFile, + }, + NameToCertificate: map[string]*server.CertKeyFileReference{}, + }, } if len(s.CipherSuites) != 0 { @@ -236,10 +236,16 @@ func (s *SecureServingOptions) ApplyTo(config **server.SecureServingInfo) error } // load SNI certs + // holds the original filenames of the certificates. Because allow implicit specification of names, we have to read + // everything to get this to be able to drive the dynamicCertificateConfig namedTLSCerts := make([]server.NamedTLSCert, 0, len(s.SNICertKeys)) for _, nck := range s.SNICertKeys { tlsCert, err := tls.LoadX509KeyPair(nck.CertFile, nck.KeyFile) namedTLSCerts = append(namedTLSCerts, server.NamedTLSCert{ + OriginalFileName: &server.CertKeyFileReference{ + Cert: nck.CertFile, + Key: nck.KeyFile, + }, TLSCert: tlsCert, Names: nck.Names, }) @@ -247,7 +253,7 @@ func (s *SecureServingOptions) ApplyTo(config **server.SecureServingInfo) error return fmt.Errorf("failed to load SNI cert and key: %v", err) } } - c.SNICerts, err = server.GetNamedCertificateMap(namedTLSCerts) + _, c.DynamicCertificates.CertificateReferences.NameToCertificate, err = server.GetNamedCertificateMap(namedTLSCerts) if err != nil { return err } diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/serving_test.go b/staging/src/k8s.io/apiserver/pkg/server/options/serving_test.go index 6d8899fd90e77..6a5b2b7e90af5 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/options/serving_test.go +++ b/staging/src/k8s.io/apiserver/pkg/server/options/serving_test.go @@ -17,25 +17,17 @@ limitations under the License. package options import ( - "bytes" - cryptorand "crypto/rand" - "crypto/rsa" "crypto/tls" "crypto/x509" - "crypto/x509/pkix" - "encoding/base64" - "encoding/pem" "fmt" - "io/ioutil" - "math/big" "net" - "os" "path/filepath" "reflect" "strconv" "strings" "testing" - "time" + + "k8s.io/apiserver/pkg/server/servingcerttesting" "github.com/stretchr/testify/assert" @@ -58,13 +50,8 @@ func setUp(t *testing.T) Config { return *config } -type TestCertSpec struct { - host string - names, ips []string // in certificate -} - type NamedTestCertSpec struct { - TestCertSpec + servingcerttesting.TestCertSpec explicitNames []string // as --tls-sni-cert-key explicit names } @@ -83,8 +70,8 @@ func TestGetNamedCertificateMap(t *testing.T) { // only one cert certs: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "test.com", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", }, }, }, @@ -96,9 +83,9 @@ func TestGetNamedCertificateMap(t *testing.T) { // ips are ignored certs: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "test.com", - ips: []string{"1.2.3.4"}, + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", + IPs: []string{"1.2.3.4"}, }, }, }, @@ -110,13 +97,13 @@ func TestGetNamedCertificateMap(t *testing.T) { // two certs with the same name certs: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "test.com", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", }, }, { - TestCertSpec: TestCertSpec{ - host: "test.com", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", }, }, }, @@ -128,13 +115,13 @@ func TestGetNamedCertificateMap(t *testing.T) { // two certs with different names certs: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "test2.com", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test2.com", }, }, { - TestCertSpec: TestCertSpec{ - host: "test1.com", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test1.com", }, }, }, @@ -147,13 +134,13 @@ func TestGetNamedCertificateMap(t *testing.T) { // two certs with the same name, explicit trumps certs: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "test.com", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", }, }, { - TestCertSpec: TestCertSpec{ - host: "test.com", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", }, explicitNames: []string{"test.com"}, }, @@ -166,15 +153,15 @@ func TestGetNamedCertificateMap(t *testing.T) { // certs with partial overlap; ips are ignored certs: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "a", - names: []string{"a.test.com", "test.com"}, + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "a", + Names: []string{"a.test.com", "test.com"}, }, }, { - TestCertSpec: TestCertSpec{ - host: "b", - names: []string{"b.test.com", "test.com"}, + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "b", + Names: []string{"b.test.com", "test.com"}, }, }, }, @@ -188,16 +175,16 @@ func TestGetNamedCertificateMap(t *testing.T) { // wildcards certs: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "a", - names: []string{"a.test.com", "test.com"}, + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "a", + Names: []string{"a.test.com", "test.com"}, }, explicitNames: []string{"*.test.com", "test.com"}, }, { - TestCertSpec: TestCertSpec{ - host: "b", - names: []string{"b.test.com", "test.com"}, + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "b", + Names: []string{"b.test.com", "test.com"}, }, explicitNames: []string{"dev.test.com", "test.com"}, }}, @@ -214,7 +201,7 @@ NextTest: var namedTLSCerts []NamedTLSCert bySignature := map[string]int{} // index in test.certs by cert signature for j, c := range test.certs { - cert, err := createTestTLSCerts(c.TestCertSpec) + cert, err := servingcerttesting.CreateTestTLSCerts(c.TestCertSpec) if err != nil { t.Errorf("%d - failed to create cert %d: %v", i, j, err) continue NextTest @@ -225,7 +212,7 @@ NextTest: Names: c.explicitNames, }) - sig, err := certSignature(cert) + sig, err := servingcerttesting.CertSignature(cert) if err != nil { t.Errorf("%d - failed to get signature for %d: %v", i, j, err) continue NextTest @@ -233,7 +220,7 @@ NextTest: bySignature[sig] = j } - certMap, err := GetNamedCertificateMap(namedTLSCerts) + certMap, _, err := GetNamedCertificateMap(namedTLSCerts) if err == nil && len(test.errorString) != 0 { t.Errorf("%d - expected no error, got: %v", i, err) } else if err != nil && err.Error() != test.errorString { @@ -244,7 +231,7 @@ NextTest: x509Certs, err := x509.ParseCertificates(cert.Certificate[0]) assert.NoError(t, err, "%d - invalid certificate for %q", i, name) assert.True(t, len(x509Certs) > 0, "%d - expected at least one x509 cert in tls cert for %q", i, name) - got[name] = bySignature[x509CertSignature(x509Certs[0])] + got[name] = bySignature[servingcerttesting.X509CertSignature(x509Certs[0])] } assert.EqualValues(t, test.expected, got, "%d - wrong certificate map", i) @@ -254,7 +241,7 @@ NextTest: func TestServerRunWithSNI(t *testing.T) { tests := map[string]struct { - Cert TestCertSpec + Cert servingcerttesting.TestCertSpec SNICerts []NamedTestCertSpec ExpectedCertIndex int @@ -266,44 +253,44 @@ func TestServerRunWithSNI(t *testing.T) { ExpectLoopbackClientError bool }{ "only one cert": { - Cert: TestCertSpec{ - host: "localhost", - ips: []string{"127.0.0.1"}, + Cert: servingcerttesting.TestCertSpec{ + Host: "localhost", + IPs: []string{"127.0.0.1"}, }, ExpectedCertIndex: -1, }, "cert with multiple alternate names": { - Cert: TestCertSpec{ - host: "localhost", - names: []string{"test.com"}, - ips: []string{"127.0.0.1"}, + Cert: servingcerttesting.TestCertSpec{ + Host: "localhost", + Names: []string{"test.com"}, + IPs: []string{"127.0.0.1"}, }, ExpectedCertIndex: -1, ServerName: "test.com", }, "one SNI and the default cert with the same name": { - Cert: TestCertSpec{ - host: "localhost", - ips: []string{"127.0.0.1"}, + Cert: servingcerttesting.TestCertSpec{ + Host: "localhost", + IPs: []string{"127.0.0.1"}, }, SNICerts: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "localhost", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "localhost", }, }, }, ExpectedCertIndex: 0, }, "matching SNI cert": { - Cert: TestCertSpec{ - host: "localhost", - ips: []string{"127.0.0.1"}, + Cert: servingcerttesting.TestCertSpec{ + Host: "localhost", + IPs: []string{"127.0.0.1"}, }, SNICerts: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "test.com", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", }, }, }, @@ -313,15 +300,15 @@ func TestServerRunWithSNI(t *testing.T) { "matching IP in SNI cert and the server cert": { // IPs must not be passed via SNI. Hence, the ServerName in the // HELLO packet is empty and the server should select the non-SNI cert. - Cert: TestCertSpec{ - host: "localhost", - ips: []string{"10.0.0.1", "127.0.0.1"}, + Cert: servingcerttesting.TestCertSpec{ + Host: "localhost", + IPs: []string{"10.0.0.1", "127.0.0.1"}, }, SNICerts: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "test.com", - ips: []string{"10.0.0.1"}, + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", + IPs: []string{"10.0.0.1"}, }, }, }, @@ -329,15 +316,15 @@ func TestServerRunWithSNI(t *testing.T) { ServerName: "10.0.0.1", }, "wildcards": { - Cert: TestCertSpec{ - host: "localhost", - ips: []string{"127.0.0.1"}, + Cert: servingcerttesting.TestCertSpec{ + Host: "localhost", + IPs: []string{"127.0.0.1"}, }, SNICerts: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "test.com", - names: []string{"*.test.com"}, + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "test.com", + Names: []string{"*.test.com"}, }, }, }, @@ -346,55 +333,55 @@ func TestServerRunWithSNI(t *testing.T) { }, "loopback: LoopbackClientServerNameOverride not on any cert": { - Cert: TestCertSpec{ - host: "test.com", + Cert: servingcerttesting.TestCertSpec{ + Host: "test.com", }, SNICerts: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "localhost", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "localhost", }, }, }, ExpectedCertIndex: 0, }, "loopback: LoopbackClientServerNameOverride on server cert": { - Cert: TestCertSpec{ - host: server.LoopbackClientServerNameOverride, + Cert: servingcerttesting.TestCertSpec{ + Host: server.LoopbackClientServerNameOverride, }, SNICerts: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: "localhost", + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: "localhost", }, }, }, ExpectedCertIndex: 0, }, "loopback: LoopbackClientServerNameOverride on SNI cert": { - Cert: TestCertSpec{ - host: "localhost", + Cert: servingcerttesting.TestCertSpec{ + Host: "localhost", }, SNICerts: []NamedTestCertSpec{ { - TestCertSpec: TestCertSpec{ - host: server.LoopbackClientServerNameOverride, + TestCertSpec: servingcerttesting.TestCertSpec{ + Host: server.LoopbackClientServerNameOverride, }, }, }, ExpectedCertIndex: -1, }, "loopback: bind to 0.0.0.0 => loopback uses localhost": { - Cert: TestCertSpec{ - host: "localhost", + Cert: servingcerttesting.TestCertSpec{ + Host: "localhost", }, ExpectedCertIndex: -1, LoopbackClientBindAddressOverride: "0.0.0.0", }, } - specToName := func(spec TestCertSpec) string { - name := spec.host + "_" + strings.Join(spec.names, ",") + "_" + strings.Join(spec.ips, ",") + specToName := func(spec servingcerttesting.TestCertSpec) string { + name := spec.Host + "_" + strings.Join(spec.Names, ",") + "_" + strings.Join(spec.IPs, ",") return strings.Replace(name, "*", "star", -1) } @@ -406,11 +393,11 @@ func TestServerRunWithSNI(t *testing.T) { certDir := "testdata/" + specToName(test.Cert) serverCertBundleFile := filepath.Join(certDir, "cert") serverKeyFile := filepath.Join(certDir, "key") - err := getOrCreateTestCertFiles(serverCertBundleFile, serverKeyFile, test.Cert) + err := servingcerttesting.GetOrCreateTestCertFiles(serverCertBundleFile, serverKeyFile, test.Cert) if err != nil { t.Fatalf("failed to create server cert: %v", err) } - ca, err := caCertFromBundle(serverCertBundleFile) + ca, err := servingcerttesting.CACertFromBundle(serverCertBundleFile) if err != nil { t.Fatalf("failed to extract ca cert from server cert bundle: %v", err) } @@ -418,7 +405,7 @@ func TestServerRunWithSNI(t *testing.T) { // create SNI certs var namedCertKeys []utilflag.NamedCertKey - serverSig, err := certFileSignature(serverCertBundleFile, serverKeyFile) + serverSig, err := servingcerttesting.CertFileSignature(serverCertBundleFile, serverKeyFile) if err != nil { t.Fatalf("failed to get server cert signature: %v", err) } @@ -429,7 +416,7 @@ func TestServerRunWithSNI(t *testing.T) { sniDir := filepath.Join(certDir, specToName(c.TestCertSpec)) certBundleFile := filepath.Join(sniDir, "cert") keyFile := filepath.Join(sniDir, "key") - err := getOrCreateTestCertFiles(certBundleFile, keyFile, c.TestCertSpec) + err := servingcerttesting.GetOrCreateTestCertFiles(certBundleFile, keyFile, c.TestCertSpec) if err != nil { t.Fatalf("failed to create SNI cert %d: %v", j, err) } @@ -440,14 +427,14 @@ func TestServerRunWithSNI(t *testing.T) { Names: c.explicitNames, }) - ca, err := caCertFromBundle(certBundleFile) + ca, err := servingcerttesting.CACertFromBundle(certBundleFile) if err != nil { t.Fatalf("failed to extract ca cert from SNI cert %d: %v", j, err) } caCerts = append(caCerts, ca) // store index in namedCertKeys with the signature as the key - sig, err := certFileSignature(certBundleFile, keyFile) + sig, err := servingcerttesting.CertFileSignature(certBundleFile, keyFile) if err != nil { t.Fatalf("failed get SNI cert %d signature: %v", j, err) } @@ -528,7 +515,7 @@ func TestServerRunWithSNI(t *testing.T) { defer conn.Close() // check returned server certificate - sig := x509CertSignature(conn.ConnectionState().PeerCertificates[0]) + sig := servingcerttesting.X509CertSignature(conn.ConnectionState().PeerCertificates[0]) gotCertIndex, found := signatures[sig] if !found { t.Errorf("unknown signature returned from server: %s", sig) @@ -567,93 +554,6 @@ func TestServerRunWithSNI(t *testing.T) { } } -func parseIPList(ips []string) []net.IP { - var netIPs []net.IP - for _, ip := range ips { - netIPs = append(netIPs, net.ParseIP(ip)) - } - return netIPs -} - -func createTestTLSCerts(spec TestCertSpec) (tlsCert tls.Certificate, err error) { - certPem, keyPem, err := generateSelfSignedCertKey(spec.host, parseIPList(spec.ips), spec.names) - if err != nil { - return tlsCert, err - } - - tlsCert, err = tls.X509KeyPair(certPem, keyPem) - return tlsCert, err -} - -func getOrCreateTestCertFiles(certFileName, keyFileName string, spec TestCertSpec) (err error) { - if _, err := os.Stat(certFileName); err == nil { - if _, err := os.Stat(keyFileName); err == nil { - return nil - } - } - - certPem, keyPem, err := generateSelfSignedCertKey(spec.host, parseIPList(spec.ips), spec.names) - if err != nil { - return err - } - - os.MkdirAll(filepath.Dir(certFileName), os.FileMode(0755)) - err = ioutil.WriteFile(certFileName, certPem, os.FileMode(0755)) - if err != nil { - return err - } - - os.MkdirAll(filepath.Dir(keyFileName), os.FileMode(0755)) - err = ioutil.WriteFile(keyFileName, keyPem, os.FileMode(0755)) - if err != nil { - return err - } - - return nil -} - -func caCertFromBundle(bundlePath string) (*x509.Certificate, error) { - pemData, err := ioutil.ReadFile(bundlePath) - if err != nil { - return nil, err - } - - // fetch last block - var block *pem.Block - for { - var nextBlock *pem.Block - nextBlock, pemData = pem.Decode(pemData) - if nextBlock == nil { - if block == nil { - return nil, fmt.Errorf("no certificate found in %q", bundlePath) - - } - return x509.ParseCertificate(block.Bytes) - } - block = nextBlock - } -} - -func x509CertSignature(cert *x509.Certificate) string { - return base64.StdEncoding.EncodeToString(cert.Signature) -} - -func certFileSignature(certFile, keyFile string) (string, error) { - cert, err := tls.LoadX509KeyPair(certFile, keyFile) - if err != nil { - return "", err - } - return certSignature(cert) -} - -func certSignature(cert tls.Certificate) (string, error) { - x509Certs, err := x509.ParseCertificates(cert.Certificate[0]) - if err != nil { - return "", err - } - return x509CertSignature(x509Certs[0]), nil -} - func fakeVersion() version.Info { return version.Info{ Major: "42", @@ -663,55 +563,3 @@ func fakeVersion() version.Info { GitTreeState: "Dirty", } } - -// generateSelfSignedCertKey creates a self-signed certificate and key for the given host. -// Host may be an IP or a DNS name -// You may also specify additional subject alt names (either ip or dns names) for the certificate -func generateSelfSignedCertKey(host string, alternateIPs []net.IP, alternateDNS []string) ([]byte, []byte, error) { - priv, err := rsa.GenerateKey(cryptorand.Reader, 2048) - if err != nil { - return nil, nil, err - } - - template := x509.Certificate{ - SerialNumber: big.NewInt(1), - Subject: pkix.Name{ - CommonName: fmt.Sprintf("%s@%d", host, time.Now().Unix()), - }, - NotBefore: time.Unix(0, 0), - NotAfter: time.Now().Add(time.Hour * 24 * 365 * 100), - - KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign, - ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, - BasicConstraintsValid: true, - IsCA: true, - } - - if ip := net.ParseIP(host); ip != nil { - template.IPAddresses = append(template.IPAddresses, ip) - } else { - template.DNSNames = append(template.DNSNames, host) - } - - template.IPAddresses = append(template.IPAddresses, alternateIPs...) - template.DNSNames = append(template.DNSNames, alternateDNS...) - - derBytes, err := x509.CreateCertificate(cryptorand.Reader, &template, &template, &priv.PublicKey, priv) - if err != nil { - return nil, nil, err - } - - // Generate cert - certBuffer := bytes.Buffer{} - if err := pem.Encode(&certBuffer, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}); err != nil { - return nil, nil, err - } - - // Generate key - keyBuffer := bytes.Buffer{} - if err := pem.Encode(&keyBuffer, &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(priv)}); err != nil { - return nil, nil, err - } - - return certBuffer.Bytes(), keyBuffer.Bytes(), nil -} diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/serving_with_loopback.go b/staging/src/k8s.io/apiserver/pkg/server/options/serving_with_loopback.go index ac9635d2dd320..dcf44a68d9d85 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/options/serving_with_loopback.go +++ b/staging/src/k8s.io/apiserver/pkg/server/options/serving_with_loopback.go @@ -71,7 +71,9 @@ func (s *SecureServingOptionsWithLoopback) ApplyTo(secureServingInfo **server.Se default: *loopbackClientConfig = secureLoopbackClientConfig - (*secureServingInfo).SNICerts[server.LoopbackClientServerNameOverride] = &tlsCert + if (*secureServingInfo).DynamicCertificates != nil { + (*secureServingInfo).DynamicCertificates.LoopbackCert = &tlsCert + } } return nil diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/cert index fade595fc6d80..f03753fd73179 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/cert @@ -1,20 +1,20 @@ -----BEGIN CERTIFICATE----- MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDDCRhcGlz -ZXJ2ZXItbG9vcGJhY2stY2xpZW50QDE0OTYzMzA2NTYwIBcNNzAwMTAxMDAwMDAw -WhgPMjExNzA1MDgxNTI0MTZaMC8xLTArBgNVBAMMJGFwaXNlcnZlci1sb29wYmFj -ay1jbGllbnRAMTQ5NjMzMDY1NjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAMScrdc+XlUPHsDvnN2fFxSSQrhrKBlrHBcelaiFwR1vWt2EXxErVUoRGA+1 -jvQ5Y4NePS46Zpq2N+yibiWjaC0fsS4W2UvPAfdD4nxOp5SaTBy5A0XI+JU8QmbI -Rls+C/fSeYaXSKp5Jq41uTKGc+QwT9pqCeV7N74DSc6kvNh7mIBc4YCOzMnhQq5H -KQVCeDPURxfh7Ew+v13dLYDq7V6O1jBjfg3Rm/RRFnM78kcc51QTOo9ZSs5HgahU -eM4YirHz8ujswhgxzH43TeOGds3McGKv1HMHKJKinX02IHJBqV6U5y/AH92wi0Sp -IKgJ4GJaj/Vda/kPUtf5cL2sOt0CAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgKkMBMG +ZXJ2ZXItbG9vcGJhY2stY2xpZW50QDE1NTE0NjE2MTEwIBcNNzAwMTAxMDAwMDAw +WhgPMjExOTAyMDUxNzMzMzFaMC8xLTArBgNVBAMMJGFwaXNlcnZlci1sb29wYmFj +ay1jbGllbnRAMTU1MTQ2MTYxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBANLDA8hPGaFWjGXhwQr0nGmAEeEJtyEvRGz+OBzljbvVoprxXtkVFZZ/kTvp +XST5e2HXffZyYFi8krnCzWOnOmFSnI2QlfhQoEEXnuT0qkbeydbIJykknwjgHjXA +gWSqgklaH2eSJ92ADwmxEajwka/GzSL4xY5vOa3mz7mI4WwASbWU1YGDXJQxkZ76 +QLamokI5w7FdBPoupyMlMjy7hVL9sueiRpnTcASQ4X75MeAog/YBTS71+FjzguTL +Hil6rhFn8euesiOqXw6Vv1JGZFxuD5/qlsFf8YM+MGHkMbgwE80P7Pleem11cTRw +GIMdH5YoJE6zZzuDjwrD+sPDvxECAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgKkMBMG A1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wJAYDVR0RBB0wG4IZ -YXBpc2VydmVyLWxvb3BiYWNrLWNsaWVudDANBgkqhkiG9w0BAQsFAAOCAQEALlZe -LJ3i6WQhpgV3jPWuIBTXJ0bb3cbYnk4JLWYW9sIjMakfAlZK9VrfRZKOhI8DsGsG -PVcYOyc5TQM0JkcsCKajyA6HktpMFEtxBfSJOlRAdvvj1GtRnifcA5xBqn1SzL2H -tFx5etii70spZD3jDht2bKLZmL2NbGGVOWiKdtz6qR+V9U4F+uYCq+phKgnLeDz3 -RiMIGvDpliWU/R1jgdi3RENtP8QGhjiwVDGYJBB26ZQGDkd4HYPZj9bROMknnRFk -fbP/P+cmvXrwScvrXLFkNQe/4LfJAJnod4ropQ84z/Cu2JaFbJau4TSlbp57y9ON -7fpK9SV4bTCyO34Uew== +YXBpc2VydmVyLWxvb3BiYWNrLWNsaWVudDANBgkqhkiG9w0BAQsFAAOCAQEAifij +rr7l+SIRHu7V6epRGuqKqSHSzOPW5jAIP+zg7eWyAXECzNS+8OfSS+8ZnX+VyT0P +2yKtAxiKYQX+OIWc+CvpjhrPpwUTuyGu4zx5YuUDetidsWQFgvCURU7E9430HX/O +4lVH7yPepjJYxocQ8up4Do6PhRYPah7EnhptOOgqDbkNH+NfJf1Clk+U54Wt88BZ +xH2J5a+kyoSOilcrDasF4T3AzMJ/EujShd1l8ZeZj/Ue7iaeJMYjmCSzFR5+dxFS +jYNXZTsqx4pD5wPzRuMTpBgwxC8gsZ/e+0Sv1NvTJaD9vUI99RlTHO/8Xzmz/okl +GTuj1HyeySAydsof1Q== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/key index 6eae7eb182db5..48e3ea9ed481a 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/localhost__/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/localhost__/cert index 3fb375592dbff..fb9d661c671ba 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/localhost__/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/localhost__/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh -bGhvc3RAMTQ5NjMzMDY1NzAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx -N1owHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTcwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDhpeY6j6ujZc2W0paC9pmVHlEhbnsH/L0N3JjA -WooyZWgsARSlv95Vh2M1gVymu7mah3HHzQkVe6vN5bfngOO4A2d3fxYP0304+3YE -TCariZzcEk9Ot90VHNasTVMOqZ2qdGRUvEXbpRWlIhA+T9FgNxpBDQV5yb5w67Dl -kBM22wn5l/YM/4HqSOTVQON1SmmLUPlnWtzxVRDKPzI2zxpKkzW4U1bYgdwM/Xeo -B2GjU+1UsBlJWGrRQhCkiFuZ92agls1bsu3+PE2leoQf6vZE+pc0m89v0lqlcgOQ -TcI19BFvLjUneDbu4kFZWDO+f23hhEcHut26IXtOoAIvk9uhAgMBAAGjTjBMMA4G +bGhvc3RAMTU1MTQ2MTYxMjAgFw03MDAxMDEwMDAwMDBaGA8yMTE5MDIwNTE3MzMz +MlowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE1NTE0NjE2MTIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCrKOdmF5x2F20IQTM9VDNX2uYy46ESLm4aWCNB +84ULr735NtJVRwHJaYVJd4Os6xbf1lLq4yBmXEyOH2h62XHimlNh4rvsF9OtlCQU ++7kJU7ZtOcjHqplJjlD7t9sIE2H6tctuQp0lxiMTWKS5dcU1DNW55hCEWGujw4Tn +ZB8OIA+ce/+b0wyIWNuRHmUKWExwS276eBc9gmPxppHFQqg9sxivYh9BVD0WNVj4 +qSUvUmomEMUlw0lLdVmQ8IxOVDzelnlEssPWlnqz4XZG+nhb6qYR79HBvO4A+J6F +dpLWuLfLZz/Eqp2QnZrVq28txKoyz7TQs9t7kd2/yskVnodlAgMBAAGjTjBMMA4G A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD -AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAHlVy -2H1FxDXAJKeZkFCNAHOiThcm79s7P8+BXnYbQMgdHAiQIQFQDDwbntA607m0FRoZ -1H1n/rzkRXRrNJRPEd3aSnurq6oMMZa1Pai4e2f+kyThpIw6FtI2y/Jb7lKB428g -9AHtKSd71MEArOvWHi1IcX6rmH/vU5ezBgPpjtEC/5bI8PJMqr2osesjppKwwwjf -BTq+AjvxltPDb+fykto41IMzpM7KRO/vat/dZ5OZZOhDpbJlAAWUfCdlWcL0kqTt -ok+biBB4xShOwpSyKCmJg4otlvN7qJ34fCjYkQY+PXzGS6YV34Wj64F8mReTt4LO -glampIa1cLUWPMlYPQ== +AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAW+ao +mOU69+Mc5aq9G7n8Ugr7fM7tnTMS+2FUXGvSjzxckjb96KBtpjUPFpRdFSExYpaV +uLNK84JpFpypmurTCXRj3687JSm7linPr5K3n0DTaaF87G+MXErwXDcOUz89BLAm +xnZRCdJKAytZloNFR3mFb2p65O/Xo/wlhF6yx1MwHNF/uinLJdINhvPk4qae6od8 +WPrqKDrSPKaZw/rSgBzBPAK6bQRmtXqwdQjjnPI3bbeSRonqaVqX7VFdhNJgPf1P +c3GfrlynsxD90eLMAWOmVGMRZkhDKviDXsYVh4HUx5O4+U5HG3p1CwWHlHKiywY/ +ELhtjVoRehPFuOIFEQ== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/localhost__/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/localhost__/key index f9f40c6df7575..bfaab72fda882 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/localhost__/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/apiserver-loopback-client__/localhost__/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/apiserver-loopback-client__/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/apiserver-loopback-client__/cert index 8fb51107f6628..aa567b371c666 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/apiserver-loopback-client__/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/apiserver-loopback-client__/cert @@ -1,20 +1,20 @@ -----BEGIN CERTIFICATE----- MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDDCRhcGlz -ZXJ2ZXItbG9vcGJhY2stY2xpZW50QDE0OTYzMzA2NTgwIBcNNzAwMTAxMDAwMDAw -WhgPMjExNzA1MDgxNTI0MThaMC8xLTArBgNVBAMMJGFwaXNlcnZlci1sb29wYmFj -ay1jbGllbnRAMTQ5NjMzMDY1ODCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAPGTpeR8wkr9yxMV8LLI7UaImRF6T0ZT2HL7cmjZDbV3Ow9L8UXvlQ0SdKbT -ph2IU5Ww4h3xSiXXXGh0FSXALs1Ieg8DmMYKHNcnOXpShwuXBJ0NCpPSLnAO+2hg -Jq+ULvBTGjQhvCX+cjI5IquYp0sSbERS/+46cGrwWoye67Z9Xo6enNjHG8YZf35B -Wspvm0awUw1KcXkp+lJ9zoblBeXm+uXdMhzEyRpghRslwvtPKyU8YhTN63p0Ru1E -Kig3pctotL2n1/7+tR8yhjEstLiydHYWhLkX6wsUv+rNirUGVUBjF5VFtERzMPRK -0dh/hs3v2JSby56IxRcqqTSzvfECAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgKkMBMG +ZXJ2ZXItbG9vcGJhY2stY2xpZW50QDE1NTE0NjE2MTQwIBcNNzAwMTAxMDAwMDAw +WhgPMjExOTAyMDUxNzMzMzRaMC8xLTArBgNVBAMMJGFwaXNlcnZlci1sb29wYmFj +ay1jbGllbnRAMTU1MTQ2MTYxNDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMrQ1GVa2g73UTCLjPPtp2rHk4awf8MEnKktncYMXbwYVdPV96/d5UumhOEX +rOjylMR2WZvkxhr4pn1Tl6emC/yFMbI4J32tRgFtIR0yNq8wFmVKsjFbF0+tnYzP +iux4rm0mo3gxsGL2ku7MoAWE4o2td2jXdJqvQ74ZD+zdQDshVLdCKWNinROwaHm1 +0ItX+d0q33gITtxE97g4065jIhhlj3bSA9EhvTWIPn/N/yV5Wg2GnVoElF90zMsq +O51JWvCJc7ctuVuqe2KmASDHIEW9VRuNJHlNQQ2mls2if5aPxPqijm6pQ6D7JN+j +NUK7ujyqztcEQlAAr2pWwfiU7TECAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgKkMBMG A1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wJAYDVR0RBB0wG4IZ -YXBpc2VydmVyLWxvb3BiYWNrLWNsaWVudDANBgkqhkiG9w0BAQsFAAOCAQEAEEd0 -MOqC0POVtxGCy/BHR6sVcf1r1BVTt28p7u1yJIdrOKuknlILt9iSNfFcNPRWIP+u -7SNPT8td6yViBgn7UMjvFxZgQn6kTsgTfdRV7eMxoX/jYzt0g44k0oVGv+xiJ+8q -m5Ng+tMOMuY1+JganxNad3mwdff4uKxXuVQsV+mjXBwaJHIdxBmCFqg/dGB60lyb -fxFjuTAT8xyL+UE3VUoCLFdNDgIsm0v3uj8nBsASW1LeZSbMQKUJXGlvEpj5U89d -B9ZouygfISPKQ02WYYDfSmtGCqX5sFZRh2uSPp0/UPUB+hUk7C0KN6TgsB9kOAD1 -Sa0X3+KhMRVOk7riaQ== +YXBpc2VydmVyLWxvb3BiYWNrLWNsaWVudDANBgkqhkiG9w0BAQsFAAOCAQEAcuDD +1KgI9gzAa62/NNV4eUsF1Sp4VLQ4J7PsecW9NxHkHHuZQrTcQPc7WCiEnUQVNq0t +YRT3WN1zQkf9e4UV1DB+RpezzwkVXNAjHgHQP+xY6LtEbgHK0qTEuecqWEjAzpKs +6wIrE7/4HQSE7i2BGSPBZqlZGSY3rHUi/mwVslWpITbZvcVXLKfHyOwcUK8D6vL4 +8V6KIQjG6n4Mt3D6fZvA96tNdoJfdYeVhAzGcFbQEIU0S5vk5rOv/ExkFx6XTyej +4M4eXgNnBAczHdn9LPhmdwE1ihw8gbSotBeg6wgECsdMY0VXwEXYABtsh7j3Z9Hs +jSjHEb9uzP6jdJt06Q== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/apiserver-loopback-client__/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/apiserver-loopback-client__/key index 8b9712cf06c4a..7d11d65aee25b 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/apiserver-loopback-client__/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/apiserver-loopback-client__/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -MIIEpQIBAAKCAQEA8ZOl5HzCSv3LExXwssjtRoiZEXpPRlPYcvtyaNkNtXc7D0vx -Re+VDRJ0ptOmHYhTlbDiHfFKJddcaHQVJcAuzUh6DwOYxgoc1yc5elKHC5cEnQ0K -k9IucA77aGAmr5Qu8FMaNCG8Jf5yMjkiq5inSxJsRFL/7jpwavBajJ7rtn1ejp6c -2Mcbxhl/fkFaym+bRrBTDUpxeSn6Un3OhuUF5eb65d0yHMTJGmCFGyXC+08rJTxi -FM3renRG7UQqKDely2i0vafX/v61HzKGMSy0uLJ0dhaEuRfrCxS/6s2KtQZVQGMX -lUW0RHMw9ErR2H+Gze/YlJvLnojFFyqpNLO98QIDAQABAoIBAQCu+8LrSU83ILSr -I3ZRGmd8cs9lMJIhn/Ql/Wq29ZoPesjl4J1oig0OBfNHMAGgXLImuJRhGfkahe+i -nYr/6EA+ZCQ9od5UfNi9I+VnbEXzqDUoSV0DC/ilJMUIqrT68zw4ygkt/82YO8Ge -DXLGlvF+2F5h8zj854msfGMqfqbAbJDynA0ZDuq8SORUb/1RIiAZRrABZ1n6HsXv -cZb12wcycbxKTPfISkJDJ+PUVmCcm/eO3jLDgy2hAY5bCG6+HIO/N407Ze83TA81 -nBRM2WEA9BJbRmmB2yAEy2aJamT5lo5qORElmW0gEpAEceRgYi/VjPyvwjOw7IW3 -SlEDaYbNAoGBAPzt80mwWzgLH0SIqUadXbJILqZ1j/0sCr4r9CfIPppbZckaXbaC -iokh3dRaVBndI8z/aPz5+wmvNjqxQ4Jz+411ILK7G0ogYRJcTaQB7Vc2QTPtdu3t -HE1xCktyTAcyVJtrVYfpqaAKZ/eEnDmatxrMW1nmnFlZxBZErnSAjMl7AoGBAPSC -anORXVXqbM6d7XKXiXYLkagmB92LP36DQ3OXiVIH3CD2weItRvqup9+nIdMJMDyN -PR9CXSQXclFjVqpgPFKEAUNcGbTea45Kykw07CUYEdYRXRYtij0hhsRon+T6vsE7 -eEQQySG0ub6cTsFi/AuxWlPCkQLIhfCkVW4kvqyDAoGBAKBXEGXkgM9Ubav6nqT/ -WciNbdVkrbUnWGAaaRtXHCiqTCpiponu03f/mirmYG5M/EcWmy3UI0qOYmhuu4dV -k2CnoeTsLG6ffCoxjZ6tAhLJeCg9H6nRKKIHSSlu+beONoiYUI5qmHe2YRZOYOM7 -q1w3tKmXQgJ6n44mWBnO7HFFAoGBAJF5Rnyb8Dw9zZ7gt3WGU3K4T2ELv4JAZvaO -goMzlbAInR+/sHsxFRnw8FBQz/8PaHOeVM9UXLYsfQePYvDbcQhnIZlCIslJzBRM -yy+sDRPEzlfe3NNlJOpaGCSjWv6RcQzmpRdaJVC4hgqyVOkaS3tpeaR8Dmrpg0c5 -ftqZYhihAoGAMRbt+21F1BD3AGDseGIg4MQIEPfk7nh/cVFBcnXAqV49dmm1/g7G -L2itzJlTb1oOnlY9qBksocvnj3w8hsrWFvt/s0wv1e3uUJ1elCb18Rm4UQtr9td6 -XFqEgDaDYyj1iEmn+PrjQc+DqHn6JySLW4LTM82KWwDnMttvwLFhaOM= +MIIEpAIBAAKCAQEAytDUZVraDvdRMIuM8+2naseThrB/wwScqS2dxgxdvBhV09X3 +r93lS6aE4Res6PKUxHZZm+TGGvimfVOXp6YL/IUxsjgnfa1GAW0hHTI2rzAWZUqy +MVsXT62djM+K7HiubSajeDGwYvaS7sygBYTija13aNd0mq9DvhkP7N1AOyFUt0Ip +Y2KdE7BoebXQi1f53SrfeAhO3ET3uDjTrmMiGGWPdtID0SG9NYg+f83/JXlaDYad +WgSUX3TMyyo7nUla8Ilzty25W6p7YqYBIMcgRb1VG40keU1BDaaWzaJ/lo/E+qKO +bqlDoPsk36M1Qru6PKrO1wRCUACvalbB+JTtMQIDAQABAoIBAQCllKKi8O5wI4gc +awIzr8XsDm4qG3TjQaOpFz3lD/mC9Bc2MEzcPvvRrGx13L9lG49Lahg0hy0ZngFG +9nUtAQpuKkvtZZ0QJOOvjGnpjTJKCqduIPKkCutYOLUU3ehcsRYutMnm+iI4WXiS +D2thtiDEbGe9p5FiLE7RJ2LyDZw/6L0q/jobRnRM9CPio0jzjLSp/l8XAAcrLRjD +JyJ+I3BDhhdUCmpkdK/eH11WHtYK+J43c61Dc0YxewD00rbUPoKYq0D9/VFbEjrB +ckiDAokmpftGoHZiJUigNfQOk8IYCrxd6WWUJtTb6aLsPm8/B33xy8BXLp096gpZ +UqKgWUYBAoGBAOqBrv4Ee8yJfXceQ1NbTnz0SLq7vlE6tFCjbMhij4g7BITgfd5U +QcZKOYJtSfnNsHVOf0vS+pVT/mDlpOZLCRlDsspGZrgT0eRBkEP4KOsqIPu03mGv +D1xuyjcXZt1Mjl9oucFQo/2s3So+g0zYRxc0vUt3XJgEwr3DlYdqnfJRAoGBAN1n +knJLku2iDsRoLtnhZ2AGyXWX7O3yO2zFJzFD9gT/NZLwJ+9GLBJUv9wKa1nHFLgO +xiYXoIfynEU1iQdWWYs+ByVWKffPYGle8d+tmxAt72Qe19ig+K4crb3sQIBfPExK +MbOrjoFNkBU7epj9QM9oIN7TqZ2EOaahxPJUwrThAoGACLhbznxSMi/mp3hLnpzl +lUXsMm1qzVB2hg0drXHkzncLWvmSFKNjcsEt1EjGGHDqn+IUX7hvsv/VlLrVX+7o +XrUiv9zQUwYBpxA9Ehn3Q49kfJekMVO2KYTBJj1LiO0g2jFlvueFwZgc/UYn0cK1 +GgrPAzBkFA8RQsc0Fz4Cs5ECgYAucRJL/URFqm+0jTH+rARWJTZO/15Ijz4d08Ej +2WCarbncJ5oI28xU0AgqrNjVzSewcBDqXpxix+Y1skQbEObZiVpQX6GQBKTxlWPh +CnZzT19evgWCwElJpGRhaVQiWVe5nPqN+Jd80fs+KOrPepgEqY/zjayPiPPa2yYH +uvXYoQKBgQCyIrkA8sKYDbqC/uipgFiJWNK5C8g7424Ue0zLa12Y/P8ToVDrtSJT +3Fera5vKuCeQo9COcIxaC66pKTeRxx0fcEmrjKxluK/oqM1wxMNomTqiEIP1IgFQ +l2ZGPZ8lXMaN07TlHaKYxcJuUrQNBFe2PWuJ1IO8Zu1EJMrkHyAlZA== -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/cert index a402b3e806dee..a1626dbbc51d3 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh -bGhvc3RAMTQ5NjMzMDY1NjAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx -NlowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTYwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDozgb3GKC3n9wREqYUm92/T0+NnEYkaWOitXAH -BW/Gj9PAF4sggnAey62H7mkBaUpw3s3RXyrqnRqrXVWvWgbSpf0Elp3zfos4raEf -hgWhqMh/SEf5ETHNRyfebxTSeQYRuZsvAPEsRWKf3AKFEykfW9y/GnKYM1elL0nx -Fgh0tq943epjHuzKfVWp8LxnFd7fyL+BQsvBNnYz0SH0F9oTUU3nDCS6Os/+EtNQ -SjP54HQ78XczI9AMvsFUS7yFEQdM8VW9uYhdv/Oyi9SLywhOCHSnV9buJ6F8URzO -B5Cawdteew7U+EAXbEwY2D84NARF/J8iA3Eh7+UKd27WA+pJAgMBAAGjTjBMMA4G +bGhvc3RAMTU1MTQ2MTYxMjAgFw03MDAxMDEwMDAwMDBaGA8yMTE5MDIwNTE3MzMz +MlowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE1NTE0NjE2MTIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDpFbJZhjnd/Q2UXW0AhBLJSz30mpVaVgpttoJw +KO4Ae4lkc0OFFHElzgltbPRBLBqFnIum6vP3BwTyxGo7ISGqADdUFHYgnkkFtq3X +tsToDm2j5n3BMsDPMsZgf9rKcKm8fHpqrS7ljit+Xp1oHfIuW8QLTJqTRMNcjMzp +u2xHKPG84J9A+W11FDDJ8NtIrH4qEnJH9ux0Kosy+VFzTasNapNTb1X0JBTDgteK +ck+oKv0T53NQnFF0A/Y6w6NEtV2SN36Om2bTtNOUrtmEAcx7+ldXHFn841Nr7Ev4 +P3Dfoj3KRv9oFj5Z3yvNz/G++MZHtUoYcNSQ7rv8jcm/r7pZAgMBAAGjTjBMMA4G A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD -AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEA5vjR -Q4Rjx8ko8+Zt9gRceKCVWEmdZLGkjwdW04YaIcrh41svm+tgxwUMdQ2beNjUbLZX -DAVvK99HiANBc9Ee4DyQFkLI2z0EiAJpuxMjZlyzMmKLeijOkIkxYIshhfc2Y2Fr -NIf6OXmFBEjqsudxkQiGfSqc443GseJmmiuhW3JR1a6ARgut4AtPsPv2TijX7tcR -Z9tjzAMiubNDQq0g/Eh9vLZkv8tNTqoJ5N5XV8jcovNWRcIIzl+lXBfy0o68LwO4 -Hn/MzcMxOdbNfFw5nMaDuQK4oO0vT3D9nedQkdV3keLZtagN9/PO1XtkCSQ5q7Le -LS6fs5zA/9sR2kEuGw== +AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAslMa +ioN0mqxCpMeSIoHQfEt25w2nVFMi1chWMuwGFP2V2tl7dJgs4DYyzSB7/2IBYmxL +WqgQH3rXk1TZUfdoOyjjks60EAtrtuby1QlQKAWckhclgB3s9s2G1P+c/JeXHM2b +8TaTjfb7ukKB3M1oZVq3/yKvyMVa+4XTTN2GyU+smifH65BE3uF5KJSGMW4eqkxT +G5lmOxTo8/onNB2XNSVFispW8z3x/cJW5vXw37aaEuBJeaJnZARk87UfAGvWbowC +AOyf0KQxI4q2j9LnK3Co6pOIc1XHMT04Nf9FOsCOWYwTvJJtGrzC2ulKRE2AVJ/E +IFko8n2DmztSrQsYrg== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/key index 91de1492fb8a9..dd55d381775fe 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/cert index e477a0f1b3ae6..f12dd8af1a386 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDFTCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh -bGhvc3RAMTQ5NjMzMDY1OTAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx -OVowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTkwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQD2NQ2T3x1nBhqWOCjiED71R+j80XsFxSMZXNJB -wUCCGZysf6OGO6M+NYZ2qov58gfGrcZYBJWwuSRF+0NeoVzkCu3AJkTKXSdtv2vi -M248yBUhvwPwbTcoMyG7p6LhLlmlPpP/7n9yVfVtRzFgy4UPYAlJmTnakk9jDKXM -gi717BjntQ01+2I/HIZls5B5vLwWuHtWrdng39Evn1RwtJrLUVJE5b6/+otvokXB -DpKMb/aI230uw9D3Csi+6iAKK9JuhCEe/S3ezJWg5SugG6UrwGBLZYavXP7iiB9p -u32XIe8lMqQfsiur7iCQehwxTdMJ7uR5STS5eqfoV2SdnlN/AgMBAAGjWjBYMA4G +bGhvc3RAMTU1MTQ2MTYxNzAgFw03MDAxMDEwMDAwMDBaGA8yMTE5MDIwNTE3MzMz +N1owHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE1NTE0NjE2MTcwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDEEQd6arkM654iC4aXORLAKz4hMOXbwXB9kauR +T3xeMyULHsIkC9jH248y+pfELMfk2ELHcvAeaS3qFoZ1LFJYfWnyJJo97JpDPDg9 +nUhk5YiYEXWpUoJ+n+baRcxm7oyg5eG0Oyy2qd+kXoyzX7JC2IDGmvT3oC29t5ce +KlXVclDW+lzbHYy0qJAg+al5v2Dcz835WUPDe91XAlDYq88sV4xESFuiafDcgg4r +uGvgm/Tvhc+Ve66RXKGAcTh6LHYkcuaWcjc5deimkdv7pfyJFtRS6/Co/QbSlQRf +e5yWxgqCGBpnxaE3O4lTnYEKFyKk5hchwoY/MZSLrWUJ0P9JAgMBAAGjWjBYMA4G A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD AQH/MCAGA1UdEQQZMBeCCWxvY2FsaG9zdIcECgAAAYcEfwAAATANBgkqhkiG9w0B -AQsFAAOCAQEAuVVTMV237szi8c9Oy5ulsmgYkp6MqfkKryy6Zi6r5UtJAWToAFu3 -dvHKnSQNgiWDewVKn+pMGNZuo3o6PGxdq/E2ZQ6/oCxNRThb7hC5IK4Yot40EUQ4 -ZavrmON0velXZJ3MwbzSzstLnJCR3maO+Ko0KPC/u4LADCQyeVrEZ4IP/RPQ2KZt -mdmeHTm53tLPrcNSnaoW+tMs6JxAT30xOLnjwYfEtbMCVhGB+aHQIGFS620qZ+dn -oTqrjempIIos0Vu68ZhCaDwgB9FiNtFMplxrBvOIfWO1Dz9AwPxP1fCMlZwtFJt8 -vuRu05WPJelfnEKXIuGhuGf369xyfw5cIA== +AQsFAAOCAQEAomgRUKZGiw+cUvn/HbqL14PNWKpbY/KjLQib675Qv8BrfDDKGPTF +sfoN4f0RSxikwxzwn0hm2oc/vOiMR+d8AdDrJvBjnKUdAAWMSlpnVLgi7I1weydw +Cua5DX0EENzgJtoXBaSnVSDKAfFwarIChEVYqqUe3e4UU50kSaH29DPDpxctgDie +r1mNE77P0BnDRflGF+5J1PoA6nFJUJc9uEwd2fw3qhjBNGaKGD11KjzqxC+ihAW0 +fgBqjP+YUDZH7+jtSMW8wLPW6tfxGFYK0yFclFxKREOv5tY7Hd0UMpy/hsooEl/+ +b3+9Q/j+16l2t9TzyYl3no6cVj8VwOjP1g== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/key index 27ddac7957f47..efcd27b097996 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/cert index bdeb4090c2583..04f1c4679a44d 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN0ZXN0 -LmNvbUAxNDk2MzMwNjU5MCAXDTcwMDEwMTAwMDAwMFoYDzIxMTcwNTA4MTUyNDE5 -WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNDk2MzMwNjU5MIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEAwRrWvzL0zR9OFg1ipRU+Pvd9v+WN4ILKxU2jxlut -vZOevsyxflzRNOQImejpdXEtA/yZTKNYOdU+dMdPDdSsMPFzRgzQfiJDKqJw4jB+ -SF2XROuZEYMjxoJtueAGnw1DO9tgzn40NtHrPJNKadrYljEF+zycNLcPf78GK/ug -+5rK5MkpNVmxO4yjqxk5ZB3KD4Gol3RaheVKYmTfjNIAO0wk8O2NbvG/JxOPTpDS -aElgpfdy3Bxv4JJpjgNKrHEUYUqkwlqmrinTw8MSfKJq0MJ8nIx8HRojrYrf6Jh8 -zDpPYuqlUygcwSz0sQEY6UceaupQmlvDT9QLLVBm6aOibQIDAQABo1MwUTAOBgNV +LmNvbUAxNTUxNDYxNjE4MCAXDTcwMDEwMTAwMDAwMFoYDzIxMTkwMjA1MTczMzM4 +WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNTUxNDYxNjE4MIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAnxZMbMyZyqo8bHLl0jIec0a1BLX5eATduBdGk3Kx +MSZRCqi3JSSb5Z0Ec8rrc0DaMPwEO6RrXyOJAK54rpIRVcPB/z5kSVphZV1/IEdW +sFzs+Uq51e01vdg4epjcETXdVeNOwyAXHnK4LzYSOBsp16CRgzzomKh/KGHOu7qx +d5XtQB0O0Non+rY1lwt1pKDEEKZL+5yrnViTMSImotho3HJdr185wF1bps/OBvqw +ZtPfk/RECkOviGrqocPI7wkZWBnimygniadd/3t7fKv9b0UVEOo0l22jtrhrY4Lt +lRv3oCvxostJ5LYuCVKfkg/nmD+//Min1DSw558p0fMaRwIDAQABo1MwUTAOBgNV HQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB /zAZBgNVHREEEjAQggh0ZXN0LmNvbYcECgAAATANBgkqhkiG9w0BAQsFAAOCAQEA -jdyL+g1UlZ9UsnYA60iu3n9O8nzUU13z6d3TR3vFBiaTAiVYgcEoL5BmhZgn5jcW -AlQqmVicma4rypK50GZL7/fJBwiaUjkGNBh4ybfO2TRyXbmTCtMg+1FUe/LptxD4 -IWvJvf/Y7Vv/Lb1Gh0MXUcNeyLThletz6tJI3NAQX3meZm2J6/PBoERP7KXo7C4F -K21/V3aD8Zj7gs7LQLePz14ARAuovd/LDFmAHBcL3EIXiegDGe2c34IKupTPiysE -KIWAgOWSBQ9iZw4Ak7eFSDPIO9Xj1X+D1Bcb2EMcYw/9xJt8JFAqFFjMHPcKxCkQ -oY+IHfc38TMOEeAr8N+W2g== +gmzYUGlxNpWGGWbgMyYB0eVAPBopTgno2BDCQ7+gfhn/fw+LPhp4Upan110U9J0O +klBpI3r9pXq1RXzEB03otwyEy1PKMIh5FzxKg21AAAZAQm0CyDDSCgYf6S4Beow2 +tpgH5u49ZhNVZtDYJtI87KXqW13i6xMA2vz7c4dnMln/SugHxVPb0a8jkpB2GrS+ +GYm48g2QJDQ3Fx/iTwm2b0+LVW+/YbdVMN8aNxuFmi3n3GZ9HT1v7NNyieE6VQ3/ +T+hOJXwFThG3EbxrGuQWqFpFGvrmQNllUp7sUVBS64YsOlHSLCejpWnkmPyhUMRm +nMz6pU2/DHLE6+fA5lpzJA== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/key index 146d1f7b11e6e..20ef7db2d04fd 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/cert index ab75f495bde84..d824148da3d8d 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDDzCCAfegAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh -bGhvc3RAMTQ5NjMzMDY1NDAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx -NFowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTQwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQD8AqsPL2/NyBR9LSPSkLedA2pI5DeQ+z7Zfp9K -8EmbCcawXZabrkPCr0LwNyylynssZXqGLYWvwpl8zGk0E2Gr++diIg17uZ4lZUKN -jYhGdV8Y1Bx2Wl1At4LLe+bmxv01hslT4EDRzHfZU/wy/gTtYMJLuQOKqddW3lkV -FXNgJOVGmIm1tehwDCJhL9NIyQcy6w4i86e5B8q+pk3V95mOlKR7lHhk1ZFsMCKh -TCYG/qyu+ZUkKvZCoyV9SwuaN8Df3TT6MYSX2ulvmze2okfePwTeKMpwudrfn440 -0TWrWKJuMdNe9bHXsvhvPZlqBCouIqPC1KiuMg+Pcx0laz9BAgMBAAGjVDBSMA4G +bGhvc3RAMTU1MTQ2MTYxNjAgFw03MDAxMDEwMDAwMDBaGA8yMTE5MDIwNTE3MzMz +NlowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE1NTE0NjE2MTYwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCqbwwWgCpr0Wh23sDkjV/V4VdRXbxFESuJreMg +yz4xThDjh3TedhdxNd1i04RD/N8AASwZnDCtfpV2MAwU7eYRWN2IQS9ggy2xw5bB +8glbRnT07QLEYPG/yHeTFyh4B47ZJOkWl2qK5OyvWnBAT6a/Xl+aCypdW1soURHx +dqLoYIjFNziWlE4EHx5ApvFRyg/tZR86eEuaaF4FiIMT0XcyMpINLs5ihdRXymDr +bw5pThT+JdsJwoFBhynbksLYZijBkznq6uRxr1wc+AEFkZXRqgPB/CSXPFfPILgp +scQfpXoikTZKu/orYyYtlMPvajZx7dULWeh0jAKNTFhQD+MZAgMBAAGjVDBSMA4G A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD AQH/MBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQsFAAOC -AQEAXHWVJ8fuPrF7Bgj3i7fyH0wE6mHeUMSy/bxXdbrkY/H1wGMxHZa8uAodXeNa -Nb3pBzroqZcVWjkh56knGgeZE4vmkWWZZ3G0Bj5jr3kzhZ9Tpd1LyFOhIdUttHPs -DOVfD7AIl3v4xlMDwlYYQKrt1LzHZX1n7sJHJK1s5pL/lB9PdUGka6XLXo7meKPL -KluKBF729MfwBx/GNrQEh4Hw9/KVnBisKKdWqowrKzVzGj3hv2q+wCxDuUZyl7Cs -nw07CGIn+t7+5/jRyEoIwUiOydvaOFkXgOpWxHQVEj+7Hw+rstDbMDQ2+p4LpJjC -bLBrGtpaitmhTPyT+SSR7AZisg== +AQEANrA8IDEH7oof4pK7fxbU55sLXSRFsFH2WM4F50azSVzYGivNQeD7AgP9mfWK +pJXcaGq1z6s55BBgYWNI/dK9P6jmLsh7r9buUXb+Jnf+vVLolhqPglBLZYNPlsKU +uC5SBuTJCp0leoeYKda1vU/uBkOQ5aZkiqWKXyNI0oBDqRjtAeeDuiKn2AStRJ3g +1nyAhyjcNSfptryzR4vNJHbqKKHbB0xX79LOHgzgOxPxoPHbs6+dylbZrnNw8H83 +kqHYuweAc3NJBvMfWXSEpMCqOnpQXbddh6Vi86CGqrf3UrliQs7tksFTxmYpPKfJ +htGEHLMhzlzUESg0uiBo2QDCnQ== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/key index fbb247fd723fd..09e769e1824ad 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -MIIEpQIBAAKCAQEA/AKrDy9vzcgUfS0j0pC3nQNqSOQ3kPs+2X6fSvBJmwnGsF2W -m65Dwq9C8Dcspcp7LGV6hi2Fr8KZfMxpNBNhq/vnYiINe7meJWVCjY2IRnVfGNQc -dlpdQLeCy3vm5sb9NYbJU+BA0cx32VP8Mv4E7WDCS7kDiqnXVt5ZFRVzYCTlRpiJ -tbXocAwiYS/TSMkHMusOIvOnuQfKvqZN1feZjpSke5R4ZNWRbDAioUwmBv6srvmV -JCr2QqMlfUsLmjfA3900+jGEl9rpb5s3tqJH3j8E3ijKcLna35+ONNE1q1iibjHT -XvWx17L4bz2ZagQqLiKjwtSorjIPj3MdJWs/QQIDAQABAoIBACnOZ4JFZE7G+l8p -td+gklVB08fz1CQBChQapWJRKmTF4mgvnmSFLEiHupsPDCEUzgo3a3QG6T6XEc9a -Obmh3Xoid+gXrhTwXgPmIHxLFmhZ4ETGK1KW+xFZYCFRlKSELk1K5us7MIWdXeR3 -wkbTTQ30F0dokeXW9xo6GJ0eyd0Q7ZHzePI+Gh9ORLNeRdyk7Px6cFuDtox78r7b -teQMGNeEWtdJArWIbjxPprp84uo4qb876W2TBCt/rrFp1CRfUXtjSYQXTEsvon76 -is64X3lQhZR3HCbtjbRVhq76aNJQweVIO9CHkeLwyzGc/PyblNJNM1blIWbgQHvy -Zr8kYAECgYEA/0e4gCGohQILo4E1EnhWuHwKPACsBHkQ/D3JT2H/yo8IZUvnsPZJ -0iNhDnnPi892Xe9n7q8LG+9FVO8OYghfiF4n66dAEO8J0UFsA5CLNGr69noQEUvq -GJdOvX+NGFOzCaoX8ld3xTt9V+pvMFVPFKIoy6bns4PJlllG88vgweECgYEA/LiW -UKYomY3T8e7KgCIilkNrKWYv2qCKgoXMHerI+gz9BvcSdDRz7GHpkV9ZP9GJuJ3n -uLHdUNkFam5jtpwfqjiBvrINgqu8/jesPeocxQwJf3x5iGazxUCEK5YonePyuxih -e3pR+ez1b3wjBfVshs8tg58F0OdO3qVu+IZM6WECgYEAz+Ie7DD8o7vjsHWSu4TF -0hwo1W4Spt3UKCVEn2GFxPUveBYVCjW2Lerjqb8mdYsvsBU6hNOE722s/xphkxGQ -gmNyjOO5N1EBpKdrB4gY5EnOLxN9rCgu7XGiDI0nYE0gulkKgS4becEVNJfTjf+a -k4nuQNGdU8GZUtdHAVfgouECgYEA5ksrJxkTPEKjFf89ZyA0FmwfVh15lCfhsGlO -hSCzvjFhzhwOI/i8fncHCeMyiFZgwuyaAZOLkyYAqmkn0ntY25wcl3LXnvDzC1Ie -UllpmCKM8TCz6xlzzlcpWjK+lornYZljZgskcrR9P/eGTuLD3+Ehn6Sk/yYZmAh3 -JF/17GECgYEA2x7fCZN+wr+CmG74GFdNnghqOkQQ9JleGOseHM+JIRD3J3WkuZ9x -Dfhe68OEaUBsmB3ttDiHQ5mS+YyXIZ2st6/0KQ7v6jEM3CwUoq+SZUqV8FEIBf0+ -r3yQI5sB/ZxWvsshLtlLUgdAby+ava8mG9M5RwUjp8kdmzlkCa54cc8= +MIIEpAIBAAKCAQEAqm8MFoAqa9Fodt7A5I1f1eFXUV28RREria3jIMs+MU4Q44d0 +3nYXcTXdYtOEQ/zfAAEsGZwwrX6VdjAMFO3mEVjdiEEvYIMtscOWwfIJW0Z09O0C +xGDxv8h3kxcoeAeO2STpFpdqiuTsr1pwQE+mv15fmgsqXVtbKFER8Xai6GCIxTc4 +lpROBB8eQKbxUcoP7WUfOnhLmmheBYiDE9F3MjKSDS7OYoXUV8pg628OaU4U/iXb +CcKBQYcp25LC2GYowZM56urkca9cHPgBBZGV0aoDwfwklzxXzyC4KbHEH6V6IpE2 +Srv6K2MmLZTD72o2ce3VC1nodIwCjUxYUA/jGQIDAQABAoIBAHfqQAgIz1Ai+6w/ +WFq2ucpDjWs7V38E8KwjQ55MQgrw0WM1aF4pmp7V9llVV0d6wPBA4uV2Bq3bVY/d +iHKlW+2yp9P5gTsXsOvVINp+0GR/M0UtCXhgeVel1bQRZDDnqHNRzApQKO9m2L0c +FcS6Bim5XeyFlJ4w6/d26vgIr+Bs/UkJnWZ6HTNU8HmAu7RwY+2ozOk6GT8D2hgk +/V2dECvodIvv+prSS13VMkk7IDx3WBSuKccCyeqYyxH1JOWpwzfzOi0Vh7HovdIf +HeBiR2Ci6eBjDQqSdllbUOfspJ7cXUkDhVtysBtcuyF+Jo2n5qbRUWk1dZjQoeHt +v61Om00CgYEA2OsZs9DUaXtAlqXhMxDCcrpR0Ui7MazNKmzdQ9IuBQ1qjOLJ7SO2 +SXk2pe1bQ1KSPSJIysch5A9zbu6Huk7sDJp+60dMkx75Qgqu5YwOkzgD20ozU4QG ++fDNajAtmIi35Dcga3OGgrA+NL7rHtoHq3JSxc1LutqjqWl84NPY0IcCgYEAySPx +qCXtLNbOEGePsIMmwfrkeiztNIa7AHP4jxUqfr8YpCU2F3ctzNuQmqaYUXejN8Qz +R98zxsx/PMunPBCFeDsvf9IsDSOEuEskYc1mHquw2/CgMnvbhDXYnnawrRrtoRUR +uI2aQccqkeUysmRvTg1YvHkSa7l8Lwr5PxKmt18CgYEAjPQoXXpDrM9UZxAfSCmJ +0TdVVyNl0J+zKfBXz2xSTyIqrKXqBNiB6TiE1ElqVlLfiC4xEuNXGHUZ02nYdK44 +IPB7rLNGBQvJeKqsf6kFB5EMoICU3Z4bUmqxcGEiH84ngHp57JjDPUT9BxVQf1m6 +RiQhuTrwDNlqI/nSFd5TMx0CgYAe4aPimyAU+E3e+ud2xEwZEDov/+HTZLQlV6jb +3vYNS62u1f++DpA7maJT/Cv6phGrKDZvXHeImDEY1nOwpyC22u9qAoy8360q1m6Z +jX2WS+n1erY9ygJkBBhkC/kIOtAtIRz9ZtA+NSP2DmiANydXpnjvRu9rFqlYV6j4 +5BYwpQKBgQCNXYTXCbRE5C2wvNnRggCpJgbZ49gPiDGI7860VEZka1jp6fGovGQ0 +GCrgm2Cwy90hqPAANX4RL+eMSS7DvYhJjmb7wZe7luzA2kbpj0fqkR+5zMtaNZg4 +hnBGlNipJ9BHjyfBUttb1R8LPTOZm0dd2yKYESvIqsbO7QicB3etAg== -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/localhost__/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/localhost__/cert index 38a95960fd33c..9a3886e044ec0 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/localhost__/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/localhost__/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh -bGhvc3RAMTQ5NjMzMDY1NTAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx -NVowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTUwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDfzQINLvjB3E/ea9+PW5SLys8Q4JqE9HUwLTJY -obQ6jqf4BTxtQWRpyu+uO3ALT+oCYifZGSlyYbBnnrCNClbwZYAHT6OkDD7f9w/q -xCYMosgvZhCCILHfolCYdFLMlYQg+pz4O+ct89J1pqyhEQBZRkUTLrXwqNUOfT1a -uBPbIkXBlBn9yG3c9zj7uRiSEiDA6ZcfxDLh2RCEjZezUfL0EExU/ZHCVghew9cg -OQ8T9dpMzCSQf8rG/higV4BZA66KCC+ETm2VXkqgWxJre+bnELHGXbiQxP5t21Jt -ZXjjYcUs1YluS0nLBJiZdn1lYGM2Nok8JAKzg19XYnlsPJXfAgMBAAGjTjBMMA4G +bGhvc3RAMTU1MTQ2MTYxNDAgFw03MDAxMDEwMDAwMDBaGA8yMTE5MDIwNTE3MzMz +NFowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE1NTE0NjE2MTQwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDQTNsxcAF6xI6xIfd7fSKqi3YfurIODqBvF46g +5WzpSfJDAgmrla2PvPmDpL39AVcmawzWp0p++cOug8GJzJ2B6clVD9ahTRLGaDHU +R6BQo8A+cxGL7v9xCF9KXumXl6VHMaym5JzRV6Q9hpBzeYho0mLXdTRjDeuCJDIg +MeqHp8azm12zDmtNcgROqrYN3CU5Lr9UWXhXrAzujZVz6i5pzX2T/Y9JnztrgvRd +HA3dHwxPAl6pijNPlcB70quSJeREuEkfhsVJeNgVeft0aW0siT9ufAxgE3r77mvb +CPalDI0csFR+mbh5HGixRriBliwYCIYKkntWa2PgMA7X3PafAgMBAAGjTjBMMA4G A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD -AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAIAyV -xfmc5DMKgPUt2y6GLICybnI07SaNdzZf/5L3nM9b20Q26VLdZK4TbFsBhR4lfFPU -F4oVwvYbw1bPT9u9RSy0wLRz8a/mJJX/cmh+OBhYJf7nrGuvYADHfi8zhfvnmgIG -6PFezabzKgz5jkr0rbj32mP6sPpN1dzeDWESl7rcCfS1UHX4dlCKxnRqAYUXS4Kz -f4VMQV8y9Q00/D9fH5xLxg2jyHVc+LfD9tA1r0EJKCB7p612k96YGFFqYqxQOYmr -/Ut+EN0w/YMHuzMjhaEi+9T6r/VMYr3l8B8U1z0PYPFbbvMCGZUf53cBEjjxjg4n -sQgzzTc/yfYXGcVVcA== +AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEATPkS +yrltyn3xyXjyoLJaL12gCf+dnB9hH95vPSZHrCHrLa9WvBRMkXEnKMb+p0hPnJK0 +xlB40aRJI6GCEEOs2bltI6KoGCyQtSmNe4dq2WqEXlOd4Koi4c/+1bZLRcC5nnpp +1CkgCeiuzh7BgOh7wi+XGtnmINNKnMJ3Tp9I28SpU3NV8lJO22BsdFwIDAgrAsJH +r4/68mIlur0xEvpKv3axzFO82DihcKZBXyW9rMP3VfRxZhHGcI9CXmmWB7WOxCrN +FDl9d/yYpYvjdvRPNGmRYyvXb3gfwEqmy+znONRjVinuPaandtI5zslq6CrJ1A62 +Ont8W/Eb0vfs4cJrkw== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/localhost__/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/localhost__/key index f243fbc9f8ccf..30d7a1092701f 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/localhost__/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/localhost__/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com__/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com__/cert index d87b91f554463..de567f374d39d 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com__/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com__/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN0ZXN0 -LmNvbUAxNDk2MzMwNjU4MCAXDTcwMDEwMTAwMDAwMFoYDzIxMTcwNTA4MTUyNDE4 -WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNDk2MzMwNjU4MIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEAtNQ9DkyC1Dza3OYBLcCPeJNKC8BvYVVTL+FFzpS5 -AEPNdNA/Ezk42SBWNvaY+HYBrZniOSVMkTPFT9i5sT8bBBrUUvwGk1r6tpXDlHw3 -/S7QThqZLkGcAscmahp0mWnIIGcJxZBVMR1cfFbYNumNR9UyjUDQumCb8hlT3q0n -pEH3CL3jRpdcFolczotUzGk9u07v81gIWgQVCyYYu3WuuRjviLq8SVoHlAWvVsdW -rGcG1LS/OKAgECYVUxs1Qauw5VjlXPGkY7gOOnjNcl3IHZU2+7dGFw1gBf+gEC5E -/qr2fI7Lwx7R71sY0PANuuDLGfrCAaCjG3HZ01MC5Ktx8wIDAQABo00wSzAOBgNV +LmNvbUAxNTUxNDYxNjIwMCAXDTcwMDEwMTAwMDAwMFoYDzIxMTkwMjA1MTczMzQw +WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNTUxNDYxNjIwMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAz1uHVK6M57XEhMEChJOAM5yxWPU/Y/CavfDpbc/S +OJQm35eUoydbvvmLLJ0gqBBZro6P3pb+OaxTm+4QjG7He+NayZtUVHMz9zrys8Pi +Z1g1aZr2PE5+bm/ZKoO0bvPD/7xzbV4DaOwAtIUT74pELbW75rQB+8uPidMcO4yB +7vwJ9k/KyeUglR7+yPr8JQUWlf1IWnxcAaE+7qJpOThCWoId+6R66pDhEkLsr7Pb +T4lexW1jpkX+LRlAWNmjGebwzYCs1QQwsi4+liDuwnJSfRPG17/dvL+8BqOIqGI3 +RiMJKY9eqSut4xwg3FYKRS09kAV+EudTvfbD1JXMy0pcPQIDAQABo00wSzAOBgNV HQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB -/zATBgNVHREEDDAKggh0ZXN0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEApTrZW/xo -EMiNgBnRyqR0wHXpuQS/V5h75CtDKE4/Yl57cQlh30SX10anRgNpeBmaZjyFQp0P -3MAQoxUh8rOeQBcqZp7TiIXAk8w4rYWpFx59GGgiO5yD1vOj+9cIvAFDR0Fe1kbb -kLo8s93l4yNFTdxIIIDMgNpPcp2620wkecR3PwRV1jlM/7nMfgfRJagN2+Xq7mKC -ELzGatuXBpiy+jwCirmgmE8/MxbFbsR9L4EdW1kdYhRT+rnSNIEN3zI8GXWIH9Hu -91cGTgKiz1znXtlmLAaIoGTahv23YUV7tbQlrtZDZjpqvTN6yM3vS0HIoSxQnT2l -yizQSNuYSUD4HA== +/zATBgNVHREEDDAKggh0ZXN0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAh6r0t5Dd +7NL5sReOTErM3CmioLEId/9Kbqz+7fsBkMn6tC82e21tMcoZ5p+UgK7mCISa9e6C +TBa6/zEm6T1eZYHhb6Rd7uHzFIJoRSnr9uyRfLWJBJw3Q/8vSPQgITX/t53V4Y5e +QUePaOHOzRxkeUIOAGfrRCoPyvJ8EjKOeWUzg8E/raJBM5zupcTIIInYjpQAnYxS +vByNvGDaFAOqsp+1omeLz4zaoUT6S0lHxvfDB8iQAZh0iOjkCNKSaZFn7BAjbWQ9 +OtNZKmigyHgUhi318pLdUdoDbtoCRua6icdHLTCQW0ClxqY5VgXY1v5FOvaA+N9E +P0Jlr2ItsNGgqQ== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com__/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com__/key index 00d37caad5950..ab6acf9661a88 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com__/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com__/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com_star.test.com_/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com_star.test.com_/cert index 4870aab787460..a26c3cf99fb9e 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com_star.test.com_/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com_star.test.com_/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDEjCCAfqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN0ZXN0 -LmNvbUAxNDk2MzMwNjYwMCAXDTcwMDEwMTAwMDAwMFoYDzIxMTcwNTA4MTUyNDIw -WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNDk2MzMwNjYwMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEAwLNxhHFPJFGnDoOnt/ELutNthoJNYLwus52+GLD1 -VYDDBA7766rzAxK8wGF9vGbXZX7L1uW3VJyJJLzZR1bBTdeOWXpyscz+33+jETbn -Eg2Dp7KbdFAFw66B90vxLbHKbQtH63VtNg9lh+d0K4QI6SGFlI/Mv9VWawpKk1P5 -X1cgl1EgR5e4kIgQsrkO+MRc0SLZG/s9MvThrHVlZLWPjRaiqk1GDxvBjfcBoPzZ -0jOHhWLJGWZcwXZ5brqPcqn+YMceXQlxrjxJvyq02DEWjtfimu7qoZ3+fgQy4rJ0 -GzPaDvwnkwvJQ2iN59mcybfg6AoblCOt1ypIqouMrI/J3QIDAQABo1kwVzAOBgNV +LmNvbUAxNTUxNDYxNjE1MCAXDTcwMDEwMTAwMDAwMFoYDzIxMTkwMjA1MTczMzM1 +WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNTUxNDYxNjE1MIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA7TZNU7qZLXGwPO5t7zzlOnpy8KX0f3ry/kF230sS +A3mtP/KOxcFNbZVYYpgkgZMVy2001Jg3jDkw1lJfIuojRNToyl34Hij+XKE1MBg1 +lH28V4mwSZrJj3fElci6zFro3r2cnLq/mQTUx08XxhlWQFcocIfccEvusp7eDBk4 +wUSJGO+gffwudWKbTZ6Uz8wnvNsX7Q8H3jpVYjPaPzfzAB6pDWftFX4xag+IxQS5 +gvLpnGm8ik5ch40B/34lE4LLqHYMpBxr7Wb7cv8jCi09EbaSd/DoxqEX7y4NjoeV +DF7qaratQthv3hnCrSfhH8dSEjsxH/YNifIw5PuSZOYbKwIDAQABo1kwVzAOBgNV HQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB /zAfBgNVHREEGDAWggh0ZXN0LmNvbYIKKi50ZXN0LmNvbTANBgkqhkiG9w0BAQsF -AAOCAQEAGQ+K0dnTaX5Ry9PLA6M8yrMhq5gnX2RfyIMXCuFfMqjdju4BkTR+6zm2 -El8Z6glQ6QsKYHR4XhlhHFOP+gGyaTrsDSV2qCgphJmtn6QWOSfEmBRNNCTpMXfS -5Ek/2dXItMjmnMdDOqcLofQyIIQFE9VpLyaFN0n1w9k6EscwSxsMiBVFwOhHpBex -BPJnrKBDWNVHjgocUI3YzN2TzzRxVxB/xc5+Sl/jnpguad+q/wjFgpr9p2a4yAS7 -W5bXcA1S4iSp8uKVv0JM/cfFlF094ft88A/SIt8Sn8BmeOGQtSk/sf5mFbr7TRqE -oDuKNM5AIM/fClQdlbKo7xpcJCiRkQ== +AAOCAQEAA9roGtBBFU/gc9uCF9L66s9HyPCfu11URDAduhIN+7Us8qbTW7epknYN +/rKJh8vhW0oty2CMRifDhbt1n//hOPiZ++n72EPbb0ikU3dXD7AIcGQvJXPYFaCH +47uBGYUOb1an9MBv1QQqdZwEbIDN8mdN1EQMHLHV7XOQIbEtyyzKmSKDFzNow4OL +rB/eIGhA6rEyyAv0hhf2Rd5KcJh70RRkhL58nwRP/9Btot1VAKLCID75SvdCbggV +ZpYlaG3Lx78EdpORPkidj8qYNy+8Uu+wX/RMqluv6tSjSmgXYuJvq06pe8lbfCxm +PGosie8zEYVnH4nt7ekhoA6wb6qx7g== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com_star.test.com_/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com_star.test.com_/key index e0653fc3a3678..58931d1a4dacb 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com_star.test.com_/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost__127.0.0.1/test.com_star.test.com_/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost_test.com_127.0.0.1/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost_test.com_127.0.0.1/cert index e9de284e55e44..4c0b67a14d536 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost_test.com_127.0.0.1/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost_test.com_127.0.0.1/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDGTCCAgGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh -bGhvc3RAMTQ5NjMzMDY1ODAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx -OFowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTgwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDO4DuzjpGF3Em7sIrAv6/19KyTVLxV4jM0XX8G -S8Uo04oyovHnHqfCDd+yaGs1glxD95eqZ5kZDgQNXhn+oZkNvcPJJ8O2tPhHwvjC -PR3KzNL3dFMo6+7BCmBRIVvSNHkkZ5lyoOSE7deGvoKl3KuEWUGwUiGnPx95snCD -HPfgHYto1zSI2NbdnF4hRuOiSFhettMZiwpXEYGhcMh1RYDYxPf+5/XcFz3VCdpF -1COXSYIS2r60H08dH1u6rO1iliJaRh+jqk998exdi0TwJvVTiaubMRZxtGkPNxjE -tSukjDA9UaqAFBnireXj2qc+a6B7AMsoTymn8Ka6QJyt+3ZdAgMBAAGjXjBcMA4G +bGhvc3RAMTU1MTQ2MTYxMjAgFw03MDAxMDEwMDAwMDBaGA8yMTE5MDIwNTE3MzMz +MlowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE1NTE0NjE2MTIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDMgyIUbD5nj2q5GcqzvmCmwvjN+v60av6wQwgN +aAaMdJMtCjDWan1GPoYj+uLDQO9ytCxu6BNT8iC89MH7+Dv4CApK1r4OyxL1N9yx +1C9rwxYDlXEUegd5Z9yONvfqjZplQYbAhOJAOqFgaMS1yncatMgCwoCbagn396N3 +wnpoK1i0zbL+K+bdR64xCQmlMZk8atF03rUNp+hRzp/B1GxfwzVzb6POy9hOVk7h +mSs3A9u0ON/lQ+Nbo4e+HFUMmEdWyVpWZXf4guTddSfjyB5VWXsQJ0XXPFqllxPP +ETZGoi0+JMPmDlTfZd27Gno+BPfyQNke5Wh6T5VOfBOs4IXLAgMBAAGjXjBcMA4G A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD AQH/MCQGA1UdEQQdMBuCCWxvY2FsaG9zdIIIdGVzdC5jb22HBH8AAAEwDQYJKoZI -hvcNAQELBQADggEBAAOc/JL/2xfnPAcwzxvF/ssYK6EpjD6plG+OhlIj5UiXo/z4 -5IcLCg+N1P7dGaiSMfI/hIM+M/z24QMk6gXFMrVUFh6sm49dNmTry4Qsyp8Up5HD -ettKLaWG3YA08VeqJ0C2xsFh7nJnrlzQad1dwtnj6ActWx/2g8SFkfpQYLba/YI/ -YC3biwKGY9P7lmCP5p4234blenJHJW5hbwNyLManvEA9O39Rr4oph2Z1YtmpsNM/ -p+xioLTx7oFMtRkBBpmzSKJgLAqCxVg7P+MzjS1s3W49QLI8F1sZ+mXBrZxbALhQ -TtOjvUx+vb6Gihkzn8XkGdbgsiOTMBoT0EmIBJE= +hvcNAQELBQADggEBAGaRiH2ETOtCbS6hV8lpzNXVk2rzZIf2uOxigv9dCr1f7CR2 +u3QlqN9gUAR5doXhKH3NSn5DDOZKdhbtanude+Hu+WeV03wizv24rJ2CcHWLN+vy +CnK7dP0CAB8/bpgKz2509l3lSpYJ23tVKCRL5VsmAcNqQPEqd7YXIobfEdsG7j+s +t0GEPXOiMdkLFa/fkuy5TG5ufoh7ahXOuDrdpB4zwAPT+FEzAxFo+lgAXFtboMOw +KM3Y9bkuFZbom9BWHp1D6F4JulQ7fHqSDgjl9or6OLRnOEmfrTnTjYIapgH0LbKB +pcxdtMeQ7+ytiPIRxPv6+tBNXFSDDx1APrFnMHs= -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost_test.com_127.0.0.1/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost_test.com_127.0.0.1/key index 5016e338c332e..d5d26d84c6a67 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost_test.com_127.0.0.1/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/localhost_test.com_127.0.0.1/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/cert index f678ca992b3a2..2b823d28fddc2 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN0ZXN0 -LmNvbUAxNDk2MzMwNjU1MCAXDTcwMDEwMTAwMDAwMFoYDzIxMTcwNTA4MTUyNDE1 -WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNDk2MzMwNjU1MIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEApFk4QTS28tu20CSV1s0aCC7kV7p/V8XziC5g98OI -GO9s8uVrzc51xsnJ3Y3+Xnx43x9G9VjgSNhPAuE7+/UnP6iAkZZV0mOD3xwwILwy -JK6gZOcZzd9BX9JldSnjv64r5peg5mzdhNqpRs0i3oPcfriW0sGkzl6IQlsowGoS -eDkO6+Z0IpQDo4CqcWond78LDyvqwbfFReyHEtz8D17sciGni6QPK3kGBFDiO0Ay -keV4GqEXw13ryKzVun/haLmekRf8svAU8+pjpHY0uc1cv0l0nTIZdwnp2EIF0msa -EKYyUUpcuFkMQTToYzj9LaIQmvAGIVIouNAydbheBifySwIDAQABo00wSzAOBgNV +LmNvbUAxNTUxNDYxNjExMCAXDTcwMDEwMTAwMDAwMFoYDzIxMTkwMjA1MTczMzMx +WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNTUxNDYxNjExMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAsFbTfGciwihsEvt2/U/+qWtkU118Hj6GKtIta307 +SDABJ27fXrhPCM6zPmRP4S7VYv2n91pCuGwXSDQqcBbkgQPtIGRbqoqDZYEy6yf3 +ohNrnykiZ8R62wXngXSKVE7KSII40HxUtXSQ1cRAJFFmcXz67iYt+7FLdX0HYU3r +1NQ4kPMk9MlH2VGf6n+ALxVKCLtg2RGdySjo/91vxyks/+ACPK8dXDTMjjuuVUNi +9nlzZQ7Rz/6w9uoyfNQdxQD1UZLlzNOjFfRDCDMeioxbJqzOFA8kal0ZJXB80Enb +WjblAMWF5s1mLjl3HQtwQL9yfUZ7S366EKw55gIF/2oT/QIDAQABo00wSzAOBgNV HQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB -/zATBgNVHREEDDAKggh0ZXN0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAWlrvejAW -DpKWBfgQpJLpL56v6dFkCjhThtvDrfvpx/gL0p2QQOIrgD7o+/+fmockmpphf8zc -lAFS/M2IuuvJUN7qvq/4pnUa527LsQFIQSG4GhNfHHdKfISLdjgy7LRlmjLnnSu3 -9qa5KvJg9SIWpe41LbeQPB8fLYNuF+tPzrI7QLp/VbMSSyNz4wzpdk8/+r+3KmU8 -D1SEQcaEIg7/YlyJ7TZiWiFlZRFcObE11lRYo6tnh8t2e7s0IqC1JwiAmCk0j0iZ -kHE8yND+CuO8QVDxnmu86STL+q0ldZL6C/1lLlnKFKLp+bZfW+s+kds7lDSmUMDi -CbImL3sIf6clIg== +/zATBgNVHREEDDAKggh0ZXN0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAORi61mQ0 +dve+w1i3Z+OMSwguc6crBLFRLV0CXit3N47ZCPjrkMFo+2Vhrnj5RXeKzKGMxunP +KCfwDeFg1bYf5C0a96eWuN8AIl7tR9maDUNQGqTK+0nWkR/YV+hyI5aZ4uuSjA9t +ErY/QZM12yVQGLOliQotXP6qLFuUIvH3oaiOrH7YbAnISy7y7LM88Ig4yOnDNYIY +Xc2dMtyXDO4IQNr460FzxAHb92sT/kSVzRaXVPCGzm3COdR4HDVq50Rq7F3ydaXM +3aQaDzeYlqSJiCSx0X+KmWVBzuhbphilTbVxpFjphiwwd7RGHvyH4fiAAeTO1syP +LwmyPNJqpcTJYA== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/key index 4e996b7c7e0af..8d82e5ea83bd6 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/localhost__/cert b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/localhost__/cert index 28870c9aeaf4a..d25eb475e15e8 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/localhost__/cert +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/localhost__/cert @@ -1,19 +1,19 @@ -----BEGIN CERTIFICATE----- MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh -bGhvc3RAMTQ5NjMzMDY1NTAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx -NVowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTUwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCmZQErnj8vlA5uvizHXnGmvDCpeOkc5Ldbj0Hz -zqTCiwOSTBeestdN6oLKvxJVlvyO3UQJxhJWr00QRwdCYIvLIDmiBQjb7ciOPcl8 -WdLjBtZ36288E9P1nVwFi2RwLo/XzZlCYX0aRe/SM7/h5zzNxBR6FdRvtI1d5as4 -qiGdj7TqCFIJ/8jaBfxlusjEJd+xc0Cn8IAmSpPJYCCDmxjAzw0D12Ui3toTFHUI -J9BA7iXTVvMbfau8KQJTPeu/HQ4zgU//4GW1Qo52gNzfY37iliZaG3HTWD1pxTFO -qdDuprFIffsQrQ7mHAkGnAExxZYc2cE4UF+ME8dV0/6nTQA1AgMBAAGjTjBMMA4G +bGhvc3RAMTU1MTQ2MTYxMjAgFw03MDAxMDEwMDAwMDBaGA8yMTE5MDIwNTE3MzMz +MlowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE1NTE0NjE2MTIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCo9eRiaPZns2qWDZJER/mSvSICEfDCphbL0oDj +sKfAfG35UAHDDBInLpMVoKmCgCQluJtGJZiTH+Cg3BM475LX+EC/sO8fcZH3BgxX +vQZsRisxtThzOTfKeJnMqR6Fp2a1fdwY43zdPeAaUIHpV+RzkU/T9mneYelhQDUr +4WoS7Ts/77guZkdx79hEmIO7xY0icWInfBfzwdGi+7m4X7crpGl2VUb2YGaSGbcA +OaCkEO3P8v4Mi0fFq/OEIYKbYCZ0mzsAnESqJ/taa8VfdBB0DKSOmIpcxeCKmDLw +13LFFi5mTdWuoC6XpF7ZpJ06CjXNw7wk0KAez/irpzIp7xtNAgMBAAGjTjBMMA4G A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD -AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAdUUo -i0A3ttsTca5n9OY4EbDPQz7uAhXkihwoG2YeqnucrNXg+SaS+7hFA9sa1gY5NmDF -96OvmQLBEXVz3uLEiv2KGtY5yiAo6iTtk2gtoGAloULEJ018XGQ0yNuDWUfRLyc9 -5nA8CBPEnBR7MjO6XhvvFMbAjtXoDKFqVeq3okXbL7ygUjlpwv+Sbps+DjQdmnIQ -A90S7gcFqaCmy2KnzADartasIImy/78R9r68UdJrsmyy/aPNnJ/9AbbU8Z20JFcu -clKOENaKJe/o1nOVzZA2E2oVElT++2wNfomDN5ae77cLoCjZPOBArFlhwyk16YIa -wX3ITLz6Ibr9Iy7DvA== +AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAjTnf +lVCyRwAyAC/RQPwUNsg4RCBsuPr0ekXfmZ8mQv4ZJKpbLMuYcocifE/xMi3afsyp +5vVUdLP/3qETZUVA0X/a+K/s01G9dLxONi/zH8uqFscArWw7izlrVuCWpSpvCMBI +HNcQ3fE2hU4aOOL3JVxziyerzUmlA4a0sHo8vgusDL1BYq1BJt/YkiNeOo5iLdZT +syPLhv/EOymvS36PizVSBwhp7jQjEtxAhk1l4XPNcgAv5FH188gR/uzud0np3zPq +DUCLExB764mWeum+z56GZXK2LHaMihk897bpaT069a+ldh6oYwZBrJMHlHOI7KHt +ADqlVrG92Bq33E209w== -----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/localhost__/key b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/localhost__/key index 1f4e63735cbda..72fc757932081 100755 --- a/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/localhost__/key +++ b/staging/src/k8s.io/apiserver/pkg/server/options/testdata/test.com__/localhost__/key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEApmUBK54/L5QObr4sx15xprwwqXjpHOS3W49B886kwosDkkwX -nrLXTeqCyr8SVZb8jt1ECcYSVq9NEEcHQmCLyyA5ogUI2+3Ijj3JfFnS4wbWd+tv -PBPT9Z1cBYtkcC6P182ZQmF9GkXv0jO/4ec8zcQUehXUb7SNXeWrOKohnY+06ghS -Cf/I2gX8ZbrIxCXfsXNAp/CAJkqTyWAgg5sYwM8NA9dlIt7aExR1CCfQQO4l01bz -G32rvCkCUz3rvx0OM4FP/+BltUKOdoDc32N+4pYmWhtx01g9acUxTqnQ7qaxSH37 -EK0O5hwJBpwBMcWWHNnBOFBfjBPHVdP+p00ANQIDAQABAoIBAEqbVTgCf2BM6V+8 -Q4WtEhZpoQQL47IB1zjldfPkfrl/7T0Ggzy0AZe9A6H2pDjeNyWzjlM3jXdyqIIY -5udbNLMCIvVDfqJl7pvgllv8RnNm2HjyhnCQj2Q8h0sxIfqu1e40EHjUD2zdWNeO -PoYC0Z+NQIUxDox7jzs/xFLm7aWgVTYk86iFa0/uYwnCQpGHR5OkBOhVdkqBMUrH -7hPIoKgLNHT8/jhugv+GamtAmys1KoqIvZsc/XQCMPVmE55n0OBtooQ3fhBXJC0x -UZgJGKNLSjxt7uxHb/BQk5DtFJmPck0derMNkM8WQ6o/XSjlSiKtsct8c7us/c7r -9OFkcy0CgYEAwB6uKr3Al1IM16t6yEEdfrNc/koJ9AQ3sVHSE5CjFBLMs6gL+Feo -r3oFUglY1QB6v+5YUVsLovJLMHuH1x7fKHmd0Fmx75uVzurG2JdKwCiV39PPKYjr -238Yw3Nk6IllPCn+SOIvPDhiuvPwX8FylKGPjsi7AHphKN0f9EEnL6cCgYEA3biT -l8yvpgPpZrpTaMlotKvZkTKtb212a5EdHn0bk5fSM9xaRcumRsWd9eWGutHpMbZx -wj1jAFaGDleBl08zHAr5jsY7i1C3CFKFEUbYR5Qu5+Ot/gdEyO2+j0ehluPOBFad -P514bnWpdct8Khv2dW3OJMzVdFM7M06MXkQFLMMCgYAugT63qecMuhfRvPijsN9q -5BAGnfV60+qHSb8IbWKMYWCbvHnpS47Rqz/Oc+TE6rDL9O38A4X1k6EPw1dGg3qR -WZ8R6CRiU88Xn00y8Kxvh2OAIs1qyHIPV9yusygiAeA3iBK9ocK9WQjNKG9vPmx1 -/gW6Emzx2K3cLmqlvX+20QKBgA82yCHlcLQSlqRu6qRJFb83/5DgCliYCUUuSvI5 -oXfKNilK2ILri3hVvRYPbuRI3RiFLV8nuTBfv4kiZgkM7TPiaOdsIM/ZdQXEK89Y -riSTPXi5/cltlEG5VpccUjE5ZnyTuOyRkJ77weoMUXPOQWYjZ77Ms2TtBSXrIOSj -BDvjAoGBALAag/LXYvi7l4xIuUMuo1HC4YXZVSqDM7kftLdSUGOl/zGV/0QkSh76 -KCVOwXOCmzFeImrZYYDf4uu1wW7paprNaCV6EiChhRgCrjkZIpyw6RHAGshp3a3e -BjXCIHOW5TsWRdR+IvjzIMp9tbHCEvjSw0jDm3JiaSYGRD1AldhV +MIIEpAIBAAKCAQEAqPXkYmj2Z7Nqlg2SREf5kr0iAhHwwqYWy9KA47CnwHxt+VAB +wwwSJy6TFaCpgoAkJbibRiWYkx/goNwTOO+S1/hAv7DvH3GR9wYMV70GbEYrMbU4 +czk3yniZzKkehadmtX3cGON83T3gGlCB6Vfkc5FP0/Zp3mHpYUA1K+FqEu07P++4 +LmZHce/YRJiDu8WNInFiJ3wX88HRovu5uF+3K6RpdlVG9mBmkhm3ADmgpBDtz/L+ +DItHxavzhCGCm2AmdJs7AJxEqif7WmvFX3QQdAykjpiKXMXgipgy8NdyxRYuZk3V +rqAul6Re2aSdOgo1zcO8JNCgHs/4q6cyKe8bTQIDAQABAoIBADjFrsDWbf04Txcu +ZjhlStngjT3O02xELKK+D6ryH9vQs48zL/Re6PabcrawrmR4NC0sk5gFZ/f/nRXP +/PGDpn7FHtSKWj7hhV9Qe/M7Q548EaV5NAebcUCqN1uKdAQK1LslGECQp9MbSGLv +LEfAzbV7XSxmvvoHQkj4LyWYb3D+E3QDGL2mroRcpj6t8Qd6m7EXKAvpbnF/YF2l +9Ky6qsALaqCrg950/WjfvNQE3VOfzmYtjXGqlh7JhLhAzLFu6L2z0GxhZthNgYJy +J/OfTJzKNkUIBjGNSqG5xv+HUXw+e069y+IEp3+5Kre8v/xzapI0I4z+mZhwMtnR +JH2BAOECgYEA3q/0hZQr/stOiFlz71yR/s9818CfH6SNU/12y9OVLepVtw57Q5Ex +oAKEFMplLJhMXrLFqfM13Ov2cwpUm91oSweZfJHgfcDYi31XqIYBKIJkHqu46gvw +DVnpH3+AHfkZC/WjNWpPuJwORK6XCTI5zURGb+Aamq7lV/reHYZoDzkCgYEAwjxp +lRs0gQtoWlqsbJjSB5Q+l4yX3YCaV2M0eooz/rhcHcOVvlF3yKqodVnoG4x7MRPO +wuiQuGjswzIi3u1bfsnf5rk0/bRmTlk3kKytUf0WhURq8NlSZjEEKhvDjPmnOqEz +ZtQc07l6MkquEXn4M42zf239l1V1tYLgm0lnGLUCgYEAwUgx0VtJUG7ALCKQORq8 +8VDASDe9JWba8CKYYNO1sNOrMCbWoE++peZpI+6EIE/UQYGjhR4/CxCXqUQ3Kc3j +vvPKqc+n7R5cFb5mPjSJftKl+eUMq8BOzBfU+uzck6dosPO0hCFRLqfsznpHR8kb +WGnBRUtbbBUPpOxuq2vEmCkCgYAea4e9qn0WmMrHG9xVRbnfJgCHi6VdM374oLjf +WDW8dvM2ViNloyy3aMLpXiNT7TR+AzQmonXH6+boyzla4KGrwcInSGpcMZy0OJTT +O7gJVzHnvUdiYSbeil60mZSOx6rBK+349M9u+WWB6uBILGoK6O5rzrYgtWmx+8Vh +jKVw4QKBgQCkaIpzr09sNPWyKD4qxp4c5Cm6mqhGVdvFiFNbrGqGm/4HMXTc7nrd +6wLti1EWq6+Q6neSy91+JSBHkd6l3xLXSEtc28wWvIX4T8daEZyccb0hJps+Bk+d +pHRnkgqNgoxkvZlB4MxrSSJg6x8YKrIV8dUHxpXyG7wPDwm/LDs7wA== -----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/secure_serving.go b/staging/src/k8s.io/apiserver/pkg/server/secure_serving.go index 67a45d5779f29..3a079e98d551e 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/secure_serving.go +++ b/staging/src/k8s.io/apiserver/pkg/server/secure_serving.go @@ -50,7 +50,6 @@ func (s *SecureServingInfo) Serve(handler http.Handler, shutdownTimeout time.Dur Handler: handler, MaxHeaderBytes: 1 << 20, TLSConfig: &tls.Config{ - NameToCertificate: s.SNICerts, // Can't use SSLv3 because of POODLE and BEAST // Can't use TLSv1.0 because of POODLE and BEAST using CBC cipher // Can't use TLSv1.1 because of RC4 cipher usage @@ -67,16 +66,16 @@ func (s *SecureServingInfo) Serve(handler http.Handler, shutdownTimeout time.Dur secureServer.TLSConfig.CipherSuites = s.CipherSuites } - if s.Cert != nil { - secureServer.TLSConfig.Certificates = []tls.Certificate{*s.Cert} - } - - // append all named certs. Otherwise, the go tls stack will think no SNI processing - // is necessary because there is only one cert anyway. - // Moreover, if ServerCert.CertFile/ServerCert.KeyFile are not set, the first SNI - // cert will become the default cert. That's what we expect anyway. - for _, c := range s.SNICerts { - secureServer.TLSConfig.Certificates = append(secureServer.TLSConfig.Certificates, *c) + // this option overrides the provided certs + // TODO this should be mutually exclusive, but I'm not sure what that will do today + if s.DynamicCertificates != nil { + secureServer.TLSConfig.Certificates = nil + // need to load the certs at least once + if err := s.DynamicCertificates.CheckCerts(); err != nil { + return err + } + go s.DynamicCertificates.Run(stopCh) + secureServer.TLSConfig.GetCertificate = s.DynamicCertificates.GetCertificate } if s.ClientCA != nil { @@ -163,6 +162,10 @@ func RunServer( } type NamedTLSCert struct { + // OriginalFileName is an optional string that can be used to provide the original backing files in the GetNamedCertificateMap + // return value + OriginalFileName *CertKeyFileReference + TLSCert tls.Certificate // names is a list of domain patterns: fully qualified domain names, possibly prefixed with @@ -173,9 +176,10 @@ type NamedTLSCert struct { // getNamedCertificateMap returns a map of *tls.Certificate by name. It's is // suitable for use in tls.Config#NamedCertificates. Returns an error if any of the certs // cannot be loaded. Returns nil if len(certs) == 0 -func GetNamedCertificateMap(certs []NamedTLSCert) (map[string]*tls.Certificate, error) { +func GetNamedCertificateMap(certs []NamedTLSCert) (map[string]*tls.Certificate, map[string]*CertKeyFileReference, error) { // register certs with implicit names first, reverse order such that earlier trump over the later byName := map[string]*tls.Certificate{} + fileByName := map[string]*CertKeyFileReference{} for i := len(certs) - 1; i >= 0; i-- { if len(certs[i].Names) > 0 { continue @@ -184,18 +188,20 @@ func GetNamedCertificateMap(certs []NamedTLSCert) (map[string]*tls.Certificate, // read names from certificate common names and DNS names if len(cert.Certificate) == 0 { - return nil, fmt.Errorf("empty SNI certificate, skipping") + return nil, nil, fmt.Errorf("empty SNI certificate, skipping") } x509Cert, err := x509.ParseCertificate(cert.Certificate[0]) if err != nil { - return nil, fmt.Errorf("parse error for SNI certificate: %v", err) + return nil, nil, fmt.Errorf("parse error for SNI certificate: %v", err) } cn := x509Cert.Subject.CommonName if cn == "*" || len(validation.IsDNS1123Subdomain(strings.TrimPrefix(cn, "*."))) == 0 { byName[cn] = cert + fileByName[cn] = certs[i].OriginalFileName } for _, san := range x509Cert.DNSNames { byName[san] = cert + fileByName[san] = certs[i].OriginalFileName } // intentionally all IPs in the cert are ignored as SNI forbids passing IPs // to select a cert. Before go 1.6 the tls happily passed IPs as SNI values. @@ -207,10 +213,11 @@ func GetNamedCertificateMap(certs []NamedTLSCert) (map[string]*tls.Certificate, namedCert := &certs[i] for _, name := range namedCert.Names { byName[name] = &certs[i].TLSCert + fileByName[name] = certs[i].OriginalFileName } } - return byName, nil + return byName, fileByName, nil } // tcpKeepAliveListener sets TCP keep-alive timeouts on accepted diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/servingcerttesting.go b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/servingcerttesting.go new file mode 100644 index 0000000000000..b53b7158292b2 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/servingcerttesting.go @@ -0,0 +1,179 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package servingcerttesting + +import ( + "bytes" + cryptorand "crypto/rand" + "crypto/rsa" + "crypto/tls" + "crypto/x509" + "crypto/x509/pkix" + "encoding/base64" + "encoding/pem" + "fmt" + "io/ioutil" + "math/big" + "net" + "os" + "path/filepath" + "time" +) + +type TestCertSpec struct { + Host string + Names, IPs []string // in certificate +} + +func parseIPList(ips []string) []net.IP { + var netIPs []net.IP + for _, ip := range ips { + netIPs = append(netIPs, net.ParseIP(ip)) + } + return netIPs +} + +func CreateTestTLSCerts(spec TestCertSpec) (tlsCert tls.Certificate, err error) { + certPem, keyPem, err := generateSelfSignedCertKey(spec.Host, parseIPList(spec.IPs), spec.Names) + if err != nil { + return tlsCert, err + } + + tlsCert, err = tls.X509KeyPair(certPem, keyPem) + return tlsCert, err +} + +func GetOrCreateTestCertFiles(certFileName, keyFileName string, spec TestCertSpec) (err error) { + if _, err := os.Stat(certFileName); err == nil { + if _, err := os.Stat(keyFileName); err == nil { + return nil + } + } + + certPem, keyPem, err := generateSelfSignedCertKey(spec.Host, parseIPList(spec.IPs), spec.Names) + if err != nil { + return err + } + + os.MkdirAll(filepath.Dir(certFileName), os.FileMode(0755)) + err = ioutil.WriteFile(certFileName, certPem, os.FileMode(0755)) + if err != nil { + return err + } + + os.MkdirAll(filepath.Dir(keyFileName), os.FileMode(0755)) + err = ioutil.WriteFile(keyFileName, keyPem, os.FileMode(0755)) + if err != nil { + return err + } + + return nil +} + +func CACertFromBundle(bundlePath string) (*x509.Certificate, error) { + pemData, err := ioutil.ReadFile(bundlePath) + if err != nil { + return nil, err + } + + // fetch last block + var block *pem.Block + for { + var nextBlock *pem.Block + nextBlock, pemData = pem.Decode(pemData) + if nextBlock == nil { + if block == nil { + return nil, fmt.Errorf("no certificate found in %q", bundlePath) + + } + return x509.ParseCertificate(block.Bytes) + } + block = nextBlock + } +} + +func X509CertSignature(cert *x509.Certificate) string { + return base64.StdEncoding.EncodeToString(cert.Signature) +} + +func CertFileSignature(certFile, keyFile string) (string, error) { + cert, err := tls.LoadX509KeyPair(certFile, keyFile) + if err != nil { + return "", err + } + return CertSignature(cert) +} + +func CertSignature(cert tls.Certificate) (string, error) { + x509Certs, err := x509.ParseCertificates(cert.Certificate[0]) + if err != nil { + return "", err + } + return X509CertSignature(x509Certs[0]), nil +} + +// generateSelfSignedCertKey creates a self-signed certificate and key for the given host. +// Host may be an IP or a DNS name +// You may also specify additional subject alt names (either ip or dns names) for the certificate +func generateSelfSignedCertKey(host string, alternateIPs []net.IP, alternateDNS []string) ([]byte, []byte, error) { + priv, err := rsa.GenerateKey(cryptorand.Reader, 2048) + if err != nil { + return nil, nil, err + } + + template := x509.Certificate{ + SerialNumber: big.NewInt(1), + Subject: pkix.Name{ + CommonName: fmt.Sprintf("%s@%d", host, time.Now().Unix()), + }, + NotBefore: time.Unix(0, 0), + NotAfter: time.Now().Add(time.Hour * 24 * 365 * 100), + + KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign, + ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, + BasicConstraintsValid: true, + IsCA: true, + } + + if ip := net.ParseIP(host); ip != nil { + template.IPAddresses = append(template.IPAddresses, ip) + } else { + template.DNSNames = append(template.DNSNames, host) + } + + template.IPAddresses = append(template.IPAddresses, alternateIPs...) + template.DNSNames = append(template.DNSNames, alternateDNS...) + + derBytes, err := x509.CreateCertificate(cryptorand.Reader, &template, &template, &priv.PublicKey, priv) + if err != nil { + return nil, nil, err + } + + // Generate cert + certBuffer := bytes.Buffer{} + if err := pem.Encode(&certBuffer, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}); err != nil { + return nil, nil, err + } + + // Generate key + keyBuffer := bytes.Buffer{} + if err := pem.Encode(&keyBuffer, &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(priv)}); err != nil { + return nil, nil, err + } + + return certBuffer.Bytes(), keyBuffer.Bytes(), nil +} diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/cert new file mode 100755 index 0000000000000..fade595fc6d80 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/cert @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDDCRhcGlz +ZXJ2ZXItbG9vcGJhY2stY2xpZW50QDE0OTYzMzA2NTYwIBcNNzAwMTAxMDAwMDAw +WhgPMjExNzA1MDgxNTI0MTZaMC8xLTArBgNVBAMMJGFwaXNlcnZlci1sb29wYmFj +ay1jbGllbnRAMTQ5NjMzMDY1NjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMScrdc+XlUPHsDvnN2fFxSSQrhrKBlrHBcelaiFwR1vWt2EXxErVUoRGA+1 +jvQ5Y4NePS46Zpq2N+yibiWjaC0fsS4W2UvPAfdD4nxOp5SaTBy5A0XI+JU8QmbI +Rls+C/fSeYaXSKp5Jq41uTKGc+QwT9pqCeV7N74DSc6kvNh7mIBc4YCOzMnhQq5H +KQVCeDPURxfh7Ew+v13dLYDq7V6O1jBjfg3Rm/RRFnM78kcc51QTOo9ZSs5HgahU +eM4YirHz8ujswhgxzH43TeOGds3McGKv1HMHKJKinX02IHJBqV6U5y/AH92wi0Sp +IKgJ4GJaj/Vda/kPUtf5cL2sOt0CAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgKkMBMG +A1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wJAYDVR0RBB0wG4IZ +YXBpc2VydmVyLWxvb3BiYWNrLWNsaWVudDANBgkqhkiG9w0BAQsFAAOCAQEALlZe +LJ3i6WQhpgV3jPWuIBTXJ0bb3cbYnk4JLWYW9sIjMakfAlZK9VrfRZKOhI8DsGsG +PVcYOyc5TQM0JkcsCKajyA6HktpMFEtxBfSJOlRAdvvj1GtRnifcA5xBqn1SzL2H +tFx5etii70spZD3jDht2bKLZmL2NbGGVOWiKdtz6qR+V9U4F+uYCq+phKgnLeDz3 +RiMIGvDpliWU/R1jgdi3RENtP8QGhjiwVDGYJBB26ZQGDkd4HYPZj9bROMknnRFk +fbP/P+cmvXrwScvrXLFkNQe/4LfJAJnod4ropQ84z/Cu2JaFbJau4TSlbp57y9ON +7fpK9SV4bTCyO34Uew== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/key new file mode 100755 index 0000000000000..6eae7eb182db5 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpgIBAAKCAQEAxJyt1z5eVQ8ewO+c3Z8XFJJCuGsoGWscFx6VqIXBHW9a3YRf +EStVShEYD7WO9Dljg149LjpmmrY37KJuJaNoLR+xLhbZS88B90PifE6nlJpMHLkD +Rcj4lTxCZshGWz4L99J5hpdIqnkmrjW5MoZz5DBP2moJ5Xs3vgNJzqS82HuYgFzh +gI7MyeFCrkcpBUJ4M9RHF+HsTD6/Xd0tgOrtXo7WMGN+DdGb9FEWczvyRxznVBM6 +j1lKzkeBqFR4zhiKsfPy6OzCGDHMfjdN44Z2zcxwYq/UcwcokqKdfTYgckGpXpTn +L8Af3bCLRKkgqAngYlqP9V1r+Q9S1/lwvaw63QIDAQABAoIBAQCCiJ9mM3M/t80s +PSmBflk9gCmp9QLndVRuCRFFlJ/1IfRK89KGPKXgid7WtyzU+rEWC+BEq+NpPid9 +BQ5qEMZehxcESYk1KpfciYZ6D2J1Z8e2niMNFvPraNmREdCcTWJ2w5eJgzFsdQj4 +SpTNdbTFwEmT8ijl4dvNXLOI7ZivhJ1vVGW2qUJQyR5xo+GuXZZVVJW6vndkzHoA +SJDSii4PMAisibu+Uw8JQM1rYFD2olvSWSnjz+kCk2IbrqhVPOW9PoYETn2DxXfY +0miUGq4KwtNjFnqJO+CDTJL6Y7LrZbKdSVTKfiY5ReLckWhx4RKn01T9RhsrS979 +bee+iynlAoGBAOVDKy9t3kN7FTQJyMGa3QAVUV8B5OPUIyuUOhzMrbIFECtYFXxY +jsnRNf1i2PbVsl9WDrPikNCVyn5Tf4xU7YUH7/Jo+Ha978Fu9tNf95RK+A2GKtiO +8jQa6nkII8Fmql9o3xjCEQD0VBirrm1h3sbC3ylKL4u+yC0a6W7vFRRfAoGBANuK +tIvCRGoEyn8nzSXUez7+/9sIwU7jV6lXL7qgdukr7o/ZBqer48CDlehXU48yiVpB +TuMZnloj/Ndf9X07t/yYwfCP7lpdq6lR7EhG5yS0WjgHjv5+QKLVA7ocrEufgBKA +Wdb+96eyOb1bgBMprtYA8wbhblhut8rk+i8SkdpDAoGBAJPxY0XI/VvIamdZRP6C +Y8iw+QB5JW5Lr6JolZOOFSxCjiuaPMswDnx3kAKCLgYi4mcZDoXQV6jycGhSk4VI +LLni5FkmmeduK/BEHe1LCWXddvKrOKzkmbE8CUCvGvurt5e4AfdlDDn0cOw2pWma +dXsHt6BaahIgu+Y3bpmSmKS7AoGBAJGlhX2qleSX5RdSemD8g/8ZAPh46HXDkSaA +9uMjDYBHau73ldiqyl+vbEZFmOPJLSI5bXJwToOSmGzx9lTsx3TGivNjKUe+GOIt +vUl98F6DX88IBK+FZrAgDWbtGsjYugiMKg3d/MK+FFwxVdhgsOK8on4QFDqKyVfL +bMbJ1QUtAoGBAK4nM5GZyefXylAnq+pzGTStu0Q1AVzN0iWO0G0Q6gaItvk82Scf +wVoEGE9a2pDCR1I1mbJn1jRxd6/GtXvR4TJSxPILS+B8aZFkxl9WIWjv/mnKJkVL +PmSNPbieuban9TRBu6nQfWOfLMHmBnG/QXbx2X1WCRoXjICT41gJ5et3 +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/localhost__/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/localhost__/cert new file mode 100755 index 0000000000000..3fb375592dbff --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/localhost__/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh +bGhvc3RAMTQ5NjMzMDY1NzAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx +N1owHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTcwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDhpeY6j6ujZc2W0paC9pmVHlEhbnsH/L0N3JjA +WooyZWgsARSlv95Vh2M1gVymu7mah3HHzQkVe6vN5bfngOO4A2d3fxYP0304+3YE +TCariZzcEk9Ot90VHNasTVMOqZ2qdGRUvEXbpRWlIhA+T9FgNxpBDQV5yb5w67Dl +kBM22wn5l/YM/4HqSOTVQON1SmmLUPlnWtzxVRDKPzI2zxpKkzW4U1bYgdwM/Xeo +B2GjU+1UsBlJWGrRQhCkiFuZ92agls1bsu3+PE2leoQf6vZE+pc0m89v0lqlcgOQ +TcI19BFvLjUneDbu4kFZWDO+f23hhEcHut26IXtOoAIvk9uhAgMBAAGjTjBMMA4G +A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD +AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAHlVy +2H1FxDXAJKeZkFCNAHOiThcm79s7P8+BXnYbQMgdHAiQIQFQDDwbntA607m0FRoZ +1H1n/rzkRXRrNJRPEd3aSnurq6oMMZa1Pai4e2f+kyThpIw6FtI2y/Jb7lKB428g +9AHtKSd71MEArOvWHi1IcX6rmH/vU5ezBgPpjtEC/5bI8PJMqr2osesjppKwwwjf +BTq+AjvxltPDb+fykto41IMzpM7KRO/vat/dZ5OZZOhDpbJlAAWUfCdlWcL0kqTt +ok+biBB4xShOwpSyKCmJg4otlvN7qJ34fCjYkQY+PXzGS6YV34Wj64F8mReTt4LO +glampIa1cLUWPMlYPQ== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/localhost__/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/localhost__/key new file mode 100755 index 0000000000000..f9f40c6df7575 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/apiserver-loopback-client__/localhost__/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA4aXmOo+ro2XNltKWgvaZlR5RIW57B/y9DdyYwFqKMmVoLAEU +pb/eVYdjNYFcpru5modxx80JFXurzeW354DjuANnd38WD9N9OPt2BEwmq4mc3BJP +TrfdFRzWrE1TDqmdqnRkVLxF26UVpSIQPk/RYDcaQQ0Fecm+cOuw5ZATNtsJ+Zf2 +DP+B6kjk1UDjdUppi1D5Z1rc8VUQyj8yNs8aSpM1uFNW2IHcDP13qAdho1PtVLAZ +SVhq0UIQpIhbmfdmoJbNW7Lt/jxNpXqEH+r2RPqXNJvPb9JapXIDkE3CNfQRby41 +J3g27uJBWVgzvn9t4YRHB7rduiF7TqACL5PboQIDAQABAoIBABg+G6MVBmqyqEjY +7SS627tCm5LM7Njp1WHk3mBkGc7aSDvaDd7U400rE4SPFmYvavxoKtg9dglh1Q50 +7LIpjc2aSAZ1l+gxX5W8pmxFxi3NxhV6vhyF8nGvPH0cfZzoqjDC+niEFblIXi/0 +newj5SnCIcb1YC46d4RoPgQb24ScBiQi3DeuqiDPQO3cyePyr5TEpeL4djB8YgK3 +yAgKFotsox1sMz1r0AX4JdoC2cYBh6qmGs+qdkMYW3O5XKjkkWS7dglqHIchhsrr +P38kuyp30fMrE40+5G9hKi3WO/nl3FP/eDM8BD60QF1edXobszfd8BsVnrBfbfjP +wDP51rECgYEA5/hLWVPXvTkSJeWzkEYx2PvubClr4fZE8j4oYTikD3q86R6UkEhe +c/yZd9WNBgwUrLG4SV3TaqEWvyUEnsaNbI1YK7e4PrhMSLLZ0G040jW8TA1SE2kT +fnJ5g4ZRWTNvksBTcs3QtMC8FzFazQ7gKIYz+SXopxeww5D8T/ok/WUCgYEA+QXz +/mYUnUMt4kWfcMDDbiYCgVSJK71E5M5qH2yxjB7NFLcl0+udQ5FrrW2YEgr3DnSV +Okbg4ZcmdnjCOU7Xu5BlU0GWe5lXiOBf0sUxrNU3OY5voVPYgSXJgTPRzguTpetA +2Liv/7x5dZ0krIKRTCKWu0iwcdOOaPrEouln740CgYBcrrckXLyBLTFUFP/2sCUw +hhBQBQjGwsfvZehqV+AtEyQxnHdNYqzieNW0rI1pEiCck3GHVsam/vAAtUCwU7Kj +4aGN7hzeanKIRXWDsnAWhUPTuyrE+KHCTujAJUWRd1yn7NIqt5Mg9TTxq1WVQtFL +P7u6W2wmfu+wY9h79/0ZhQKBgQCQoRt/wmvwlmbcxxD+HIakv6Cu2pk8dRXBSf0q +uSc5OV5kzKZEudBBwQDn3gH3YLTyiVVuXmIXw4DMSACN5jO3tPqUa0BqErpbPe2J +bYwXVFJZtFczPI4/G+I3jxAoemLLd6HW/RUDE8T7QUReiQq4TFJ8/Y+03GkWoaZ4 +89SwtQKBgQCmWHxz0eXQk3YRk0kupSrK88pZoc9wvcWYhzkiQpP6+hYPxH+n+U6s +NjHnQAVlRUIP0VisQRkBC4iy2ca/gVVhKgygVBuHC97fKAHlpUlO6Y7Ow031stAy +K3zrTjuVwsz8C6bFCxHl5ojP+0cSoK7qej09vj/te1DNvkYuE/0j4Q== +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/apiserver-loopback-client__/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/apiserver-loopback-client__/cert new file mode 100755 index 0000000000000..8fb51107f6628 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/apiserver-loopback-client__/cert @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDDCRhcGlz +ZXJ2ZXItbG9vcGJhY2stY2xpZW50QDE0OTYzMzA2NTgwIBcNNzAwMTAxMDAwMDAw +WhgPMjExNzA1MDgxNTI0MThaMC8xLTArBgNVBAMMJGFwaXNlcnZlci1sb29wYmFj +ay1jbGllbnRAMTQ5NjMzMDY1ODCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAPGTpeR8wkr9yxMV8LLI7UaImRF6T0ZT2HL7cmjZDbV3Ow9L8UXvlQ0SdKbT +ph2IU5Ww4h3xSiXXXGh0FSXALs1Ieg8DmMYKHNcnOXpShwuXBJ0NCpPSLnAO+2hg +Jq+ULvBTGjQhvCX+cjI5IquYp0sSbERS/+46cGrwWoye67Z9Xo6enNjHG8YZf35B +Wspvm0awUw1KcXkp+lJ9zoblBeXm+uXdMhzEyRpghRslwvtPKyU8YhTN63p0Ru1E +Kig3pctotL2n1/7+tR8yhjEstLiydHYWhLkX6wsUv+rNirUGVUBjF5VFtERzMPRK +0dh/hs3v2JSby56IxRcqqTSzvfECAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgKkMBMG +A1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wJAYDVR0RBB0wG4IZ +YXBpc2VydmVyLWxvb3BiYWNrLWNsaWVudDANBgkqhkiG9w0BAQsFAAOCAQEAEEd0 +MOqC0POVtxGCy/BHR6sVcf1r1BVTt28p7u1yJIdrOKuknlILt9iSNfFcNPRWIP+u +7SNPT8td6yViBgn7UMjvFxZgQn6kTsgTfdRV7eMxoX/jYzt0g44k0oVGv+xiJ+8q +m5Ng+tMOMuY1+JganxNad3mwdff4uKxXuVQsV+mjXBwaJHIdxBmCFqg/dGB60lyb +fxFjuTAT8xyL+UE3VUoCLFdNDgIsm0v3uj8nBsASW1LeZSbMQKUJXGlvEpj5U89d +B9ZouygfISPKQ02WYYDfSmtGCqX5sFZRh2uSPp0/UPUB+hUk7C0KN6TgsB9kOAD1 +Sa0X3+KhMRVOk7riaQ== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/apiserver-loopback-client__/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/apiserver-loopback-client__/key new file mode 100755 index 0000000000000..8b9712cf06c4a --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/apiserver-loopback-client__/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA8ZOl5HzCSv3LExXwssjtRoiZEXpPRlPYcvtyaNkNtXc7D0vx +Re+VDRJ0ptOmHYhTlbDiHfFKJddcaHQVJcAuzUh6DwOYxgoc1yc5elKHC5cEnQ0K +k9IucA77aGAmr5Qu8FMaNCG8Jf5yMjkiq5inSxJsRFL/7jpwavBajJ7rtn1ejp6c +2Mcbxhl/fkFaym+bRrBTDUpxeSn6Un3OhuUF5eb65d0yHMTJGmCFGyXC+08rJTxi +FM3renRG7UQqKDely2i0vafX/v61HzKGMSy0uLJ0dhaEuRfrCxS/6s2KtQZVQGMX +lUW0RHMw9ErR2H+Gze/YlJvLnojFFyqpNLO98QIDAQABAoIBAQCu+8LrSU83ILSr +I3ZRGmd8cs9lMJIhn/Ql/Wq29ZoPesjl4J1oig0OBfNHMAGgXLImuJRhGfkahe+i +nYr/6EA+ZCQ9od5UfNi9I+VnbEXzqDUoSV0DC/ilJMUIqrT68zw4ygkt/82YO8Ge +DXLGlvF+2F5h8zj854msfGMqfqbAbJDynA0ZDuq8SORUb/1RIiAZRrABZ1n6HsXv +cZb12wcycbxKTPfISkJDJ+PUVmCcm/eO3jLDgy2hAY5bCG6+HIO/N407Ze83TA81 +nBRM2WEA9BJbRmmB2yAEy2aJamT5lo5qORElmW0gEpAEceRgYi/VjPyvwjOw7IW3 +SlEDaYbNAoGBAPzt80mwWzgLH0SIqUadXbJILqZ1j/0sCr4r9CfIPppbZckaXbaC +iokh3dRaVBndI8z/aPz5+wmvNjqxQ4Jz+411ILK7G0ogYRJcTaQB7Vc2QTPtdu3t +HE1xCktyTAcyVJtrVYfpqaAKZ/eEnDmatxrMW1nmnFlZxBZErnSAjMl7AoGBAPSC +anORXVXqbM6d7XKXiXYLkagmB92LP36DQ3OXiVIH3CD2weItRvqup9+nIdMJMDyN +PR9CXSQXclFjVqpgPFKEAUNcGbTea45Kykw07CUYEdYRXRYtij0hhsRon+T6vsE7 +eEQQySG0ub6cTsFi/AuxWlPCkQLIhfCkVW4kvqyDAoGBAKBXEGXkgM9Ubav6nqT/ +WciNbdVkrbUnWGAaaRtXHCiqTCpiponu03f/mirmYG5M/EcWmy3UI0qOYmhuu4dV +k2CnoeTsLG6ffCoxjZ6tAhLJeCg9H6nRKKIHSSlu+beONoiYUI5qmHe2YRZOYOM7 +q1w3tKmXQgJ6n44mWBnO7HFFAoGBAJF5Rnyb8Dw9zZ7gt3WGU3K4T2ELv4JAZvaO +goMzlbAInR+/sHsxFRnw8FBQz/8PaHOeVM9UXLYsfQePYvDbcQhnIZlCIslJzBRM +yy+sDRPEzlfe3NNlJOpaGCSjWv6RcQzmpRdaJVC4hgqyVOkaS3tpeaR8Dmrpg0c5 +ftqZYhihAoGAMRbt+21F1BD3AGDseGIg4MQIEPfk7nh/cVFBcnXAqV49dmm1/g7G +L2itzJlTb1oOnlY9qBksocvnj3w8hsrWFvt/s0wv1e3uUJ1elCb18Rm4UQtr9td6 +XFqEgDaDYyj1iEmn+PrjQc+DqHn6JySLW4LTM82KWwDnMttvwLFhaOM= +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/cert new file mode 100755 index 0000000000000..a402b3e806dee --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh +bGhvc3RAMTQ5NjMzMDY1NjAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx +NlowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTYwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDozgb3GKC3n9wREqYUm92/T0+NnEYkaWOitXAH +BW/Gj9PAF4sggnAey62H7mkBaUpw3s3RXyrqnRqrXVWvWgbSpf0Elp3zfos4raEf +hgWhqMh/SEf5ETHNRyfebxTSeQYRuZsvAPEsRWKf3AKFEykfW9y/GnKYM1elL0nx +Fgh0tq943epjHuzKfVWp8LxnFd7fyL+BQsvBNnYz0SH0F9oTUU3nDCS6Os/+EtNQ +SjP54HQ78XczI9AMvsFUS7yFEQdM8VW9uYhdv/Oyi9SLywhOCHSnV9buJ6F8URzO +B5Cawdteew7U+EAXbEwY2D84NARF/J8iA3Eh7+UKd27WA+pJAgMBAAGjTjBMMA4G +A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD +AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEA5vjR +Q4Rjx8ko8+Zt9gRceKCVWEmdZLGkjwdW04YaIcrh41svm+tgxwUMdQ2beNjUbLZX +DAVvK99HiANBc9Ee4DyQFkLI2z0EiAJpuxMjZlyzMmKLeijOkIkxYIshhfc2Y2Fr +NIf6OXmFBEjqsudxkQiGfSqc443GseJmmiuhW3JR1a6ARgut4AtPsPv2TijX7tcR +Z9tjzAMiubNDQq0g/Eh9vLZkv8tNTqoJ5N5XV8jcovNWRcIIzl+lXBfy0o68LwO4 +Hn/MzcMxOdbNfFw5nMaDuQK4oO0vT3D9nedQkdV3keLZtagN9/PO1XtkCSQ5q7Le +LS6fs5zA/9sR2kEuGw== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/key new file mode 100755 index 0000000000000..91de1492fb8a9 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA6M4G9xigt5/cERKmFJvdv09PjZxGJGljorVwBwVvxo/TwBeL +IIJwHsuth+5pAWlKcN7N0V8q6p0aq11Vr1oG0qX9BJad836LOK2hH4YFoajIf0hH ++RExzUcn3m8U0nkGEbmbLwDxLEVin9wChRMpH1vcvxpymDNXpS9J8RYIdLaveN3q +Yx7syn1VqfC8ZxXe38i/gULLwTZ2M9Eh9BfaE1FN5wwkujrP/hLTUEoz+eB0O/F3 +MyPQDL7BVEu8hREHTPFVvbmIXb/zsovUi8sITgh0p1fW7iehfFEczgeQmsHbXnsO +1PhAF2xMGNg/ODQERfyfIgNxIe/lCndu1gPqSQIDAQABAoIBAQDBke1Ar32SsJzu +pS7qm975HxzqhjHcPLTXqT0I2YBi/Vv3sJvB4DMRqBEVoSo2PjHjP56qpBKvGQn/ +yo9gSd66b8G9eu7Cc0mXSudZqror/IcZLiSJ974NDUkdLgeGKZLeUhGyN3pQcTDb +8rc1pwTeSid1zqvR2X7ankNA7i0BvP6UXlvWM8kUvfFDwPXhHPZtkFELc4TeGIzB +e/l9Uk0DAgplkhM32s+0rTZ7wmcSUK9eh7/kiQCUKvdCVwegsK9iCVMaYIMggut1 +3KEHuVIbuLdjFu/tF4SN85funMIPxD7rKf38aDrR1vhQc5tq88dKwVrD8EANcA/f +34mAWSIBAoGBAPZLAGJ2McxIoK7ymyvGdNta0glzzbww20xLB3MHYpo+cgff4DN0 +3nA/es49So1m/r0MKjnC0qxVMceTrU4u43nROwbLNlFBZ8hzoEVobCCoykWKkhQO +hS6PkxBZ2s8nsSQCr3X+CpHd+JqT7Y98ydWVnE+kDOFIPr16j1SbBJS5AoGBAPH6 +73BDmHk4fBb9J2edNtx+7/1/+Lbb96qyy7LnA9zxdXgqjeZwFW/tNjtD2l+TPWlR +O1L0NkfnhzWPd7rDlQA7Tzr0TLF/H34+ycbaorc22M6GEg9zJwRY42EGbYJE5uRZ +Sq4jXOTOAta/lb+UjqWI7eYyH89SKlYcDut1VVoRAoGBANucUvJ427yBAi4dC3nE +EszJNcHR7aAhnFlyCWlrK2PHzJvy5xJa4kEKiXE+u6xMK1bccwZgDsQ1jxabOowd +SR6FD3HmXz+i52yYlU9uZgPVHc9WWRzjOaQjx4lr5ayTguNONbArXrdkStlikBBC +wCHfrqpg6E80wSTpFMbnFvWZAoGAPNSDOqqTeu27LCBJtp9r+jQi6owwHu/fK9c0 +o+21J+a/TA0OjP5iNTfhqTZegCZIiuAz1J+1wY+visRdKeMe4ucF/OELIpe9eAQa +v1WZEAvGpuxHQAEHru0Vg/+UqeneTUsxHeOf55juV8Pjxjx3O5/XhkXVf029fNYi +3ggqA7ECgYEAgowePEGL7l27raa6F9h4wuosfuFFdrrcOJeGxNV9jAe2s2KKoQFO +lCv/AcCsRepf9G235TqQ+if8a4p7OsHL9kxOspKBJKnwq3u+jgcJTl+HLWgnDjIc +Yk2xlnRC4N4OiGQrxjOmFXQdXiBK3T4CJnw5g0MynrdwiJCCCnEIG+A= +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/cert new file mode 100755 index 0000000000000..e477a0f1b3ae6 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDFTCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh +bGhvc3RAMTQ5NjMzMDY1OTAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx +OVowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTkwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQD2NQ2T3x1nBhqWOCjiED71R+j80XsFxSMZXNJB +wUCCGZysf6OGO6M+NYZ2qov58gfGrcZYBJWwuSRF+0NeoVzkCu3AJkTKXSdtv2vi +M248yBUhvwPwbTcoMyG7p6LhLlmlPpP/7n9yVfVtRzFgy4UPYAlJmTnakk9jDKXM +gi717BjntQ01+2I/HIZls5B5vLwWuHtWrdng39Evn1RwtJrLUVJE5b6/+otvokXB +DpKMb/aI230uw9D3Csi+6iAKK9JuhCEe/S3ezJWg5SugG6UrwGBLZYavXP7iiB9p +u32XIe8lMqQfsiur7iCQehwxTdMJ7uR5STS5eqfoV2SdnlN/AgMBAAGjWjBYMA4G +A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD +AQH/MCAGA1UdEQQZMBeCCWxvY2FsaG9zdIcECgAAAYcEfwAAATANBgkqhkiG9w0B +AQsFAAOCAQEAuVVTMV237szi8c9Oy5ulsmgYkp6MqfkKryy6Zi6r5UtJAWToAFu3 +dvHKnSQNgiWDewVKn+pMGNZuo3o6PGxdq/E2ZQ6/oCxNRThb7hC5IK4Yot40EUQ4 +ZavrmON0velXZJ3MwbzSzstLnJCR3maO+Ko0KPC/u4LADCQyeVrEZ4IP/RPQ2KZt +mdmeHTm53tLPrcNSnaoW+tMs6JxAT30xOLnjwYfEtbMCVhGB+aHQIGFS620qZ+dn +oTqrjempIIos0Vu68ZhCaDwgB9FiNtFMplxrBvOIfWO1Dz9AwPxP1fCMlZwtFJt8 +vuRu05WPJelfnEKXIuGhuGf369xyfw5cIA== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/key new file mode 100755 index 0000000000000..27ddac7957f47 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpgIBAAKCAQEA9jUNk98dZwYaljgo4hA+9Ufo/NF7BcUjGVzSQcFAghmcrH+j +hjujPjWGdqqL+fIHxq3GWASVsLkkRftDXqFc5ArtwCZEyl0nbb9r4jNuPMgVIb8D +8G03KDMhu6ei4S5ZpT6T/+5/clX1bUcxYMuFD2AJSZk52pJPYwylzIIu9ewY57UN +NftiPxyGZbOQeby8Frh7Vq3Z4N/RL59UcLSay1FSROW+v/qLb6JFwQ6SjG/2iNt9 +LsPQ9wrIvuogCivSboQhHv0t3syVoOUroBulK8BgS2WGr1z+4ogfabt9lyHvJTKk +H7Irq+4gkHocMU3TCe7keUk0uXqn6FdknZ5TfwIDAQABAoIBAQDKBSg58HZAxcpk +/nnVXL08KCAt6nlGd8bgFcDUgYy78+YRyL3V8/NzpRnLHw+yLH1i8c3xBPoKwy/X +WF+kM0V0PN9urjf90Ef9DneoaMkIiKiGQyUpT4RVsPb58oh8urqGE33/H6RlndC/ +NQ54PSbWQdf9EwRcq3cGcCdPUnbUA6Ur/m03kIWYMnPKZeXqTCA8AMfsLuoXyf3G +H9Q/ReGWok2fOkw8I/2D2HOXh+vnPoOOWbxf75DAt7tk2tRrgvQ7cI6TOJo6AImD +E1rHU7lrVhyo2AK+8BfjihGgtgt1qCwEeviuJn20wRQwTpi3r+aflaVCgsZADoc5 +6bEkjP/pAoGBAPZVyIIg4W44lHz7xu0DMAbdK2CwaYPPhEewVNTCmtq6wvP/CKz/ +gZRv7HLFrEAPuMuSPi0+0lzbUf4IfHeP79jzPEsoHlzaSyKVho91uttsTYGRS0yD +M2Kd7uavXH/lRR16h6TlGRgNTAfWh8I+WimzBi1IHP8LQPv9hS5CUseLAoGBAP/d +/FLXTQJ4bsb3Yune/xoerrMo05cUY8BM6WZ3s2wdPSMnTkh921CyzGzfWLpDHrww +rFBrbs0O7YijRU5gjwddxVMT/qcwNEETEWw38X3kfPx8TCYKT5OsD3HoiTKMUVJG +ehdADEm8mh918pgSvW/hvFaW98rIWjVwTt9djkJdAoGBAOkQJJMp9N/J3IOb24wn +desomn/yqQIy9p61MK3UKZtFFGqyI006uSjt9DJq4BwEQ/0nMniwdWuxfhPxh4G/ +x1fmWmdpX8DOMERaYGOfKdms0HAEPc/4Wke10XCk/clr7EaFxYy3zVQ6UHMiAHRB +diD55qA1GGoeBa/lH3qy+YsdAoGBAKP4j65LGaf+pAdQHIyCAvurNAvOmyKTx4VC +BMVM6qfbaQWxN8LPHRBvNQCEdWkQgI7bpmH3J0+0RFcvQsgCq0ZuOnmOM8DS7HnT +jXPLujASkGKCCY7LRsn9FvzJp7rEH41Zav6hZf6PJjoJLUl1oP8lK7xWDUBf+yeJ +7JHKc9NlAoGBAMhca2WXdxX1R61zdjqa7Da9fC1a8cdkPHsN9CA6ZMxGgfrbZHsY +YbqPhjuupOJe5B5MZ12oRqye3u6SuzoJMcSBOjKMLX/ME5fOxNRiAGgm1WEbDeFJ +3+ZyymShyUbpRLOg4fUC1vptzSJ1i93rXOZI6Vs0rWMj+PKDEbmFLiT8 +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/cert new file mode 100755 index 0000000000000..bdeb4090c2583 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN0ZXN0 +LmNvbUAxNDk2MzMwNjU5MCAXDTcwMDEwMTAwMDAwMFoYDzIxMTcwNTA4MTUyNDE5 +WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNDk2MzMwNjU5MIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAwRrWvzL0zR9OFg1ipRU+Pvd9v+WN4ILKxU2jxlut +vZOevsyxflzRNOQImejpdXEtA/yZTKNYOdU+dMdPDdSsMPFzRgzQfiJDKqJw4jB+ +SF2XROuZEYMjxoJtueAGnw1DO9tgzn40NtHrPJNKadrYljEF+zycNLcPf78GK/ug ++5rK5MkpNVmxO4yjqxk5ZB3KD4Gol3RaheVKYmTfjNIAO0wk8O2NbvG/JxOPTpDS +aElgpfdy3Bxv4JJpjgNKrHEUYUqkwlqmrinTw8MSfKJq0MJ8nIx8HRojrYrf6Jh8 +zDpPYuqlUygcwSz0sQEY6UceaupQmlvDT9QLLVBm6aOibQIDAQABo1MwUTAOBgNV +HQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB +/zAZBgNVHREEEjAQggh0ZXN0LmNvbYcECgAAATANBgkqhkiG9w0BAQsFAAOCAQEA +jdyL+g1UlZ9UsnYA60iu3n9O8nzUU13z6d3TR3vFBiaTAiVYgcEoL5BmhZgn5jcW +AlQqmVicma4rypK50GZL7/fJBwiaUjkGNBh4ybfO2TRyXbmTCtMg+1FUe/LptxD4 +IWvJvf/Y7Vv/Lb1Gh0MXUcNeyLThletz6tJI3NAQX3meZm2J6/PBoERP7KXo7C4F +K21/V3aD8Zj7gs7LQLePz14ARAuovd/LDFmAHBcL3EIXiegDGe2c34IKupTPiysE +KIWAgOWSBQ9iZw4Ak7eFSDPIO9Xj1X+D1Bcb2EMcYw/9xJt8JFAqFFjMHPcKxCkQ +oY+IHfc38TMOEeAr8N+W2g== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/key new file mode 100755 index 0000000000000..146d1f7b11e6e --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__10.0.0.1,127.0.0.1/test.com__10.0.0.1/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAwRrWvzL0zR9OFg1ipRU+Pvd9v+WN4ILKxU2jxlutvZOevsyx +flzRNOQImejpdXEtA/yZTKNYOdU+dMdPDdSsMPFzRgzQfiJDKqJw4jB+SF2XROuZ +EYMjxoJtueAGnw1DO9tgzn40NtHrPJNKadrYljEF+zycNLcPf78GK/ug+5rK5Mkp +NVmxO4yjqxk5ZB3KD4Gol3RaheVKYmTfjNIAO0wk8O2NbvG/JxOPTpDSaElgpfdy +3Bxv4JJpjgNKrHEUYUqkwlqmrinTw8MSfKJq0MJ8nIx8HRojrYrf6Jh8zDpPYuql +UygcwSz0sQEY6UceaupQmlvDT9QLLVBm6aOibQIDAQABAoIBACeo73oNaSHH0C3P +SfdFyab9BaKn7t+xfRvQulY+9gv9iZj+SWX+gikuvGV/5JLuT6SF+KY41iHqng01 +8hKRH1xd+qLkdt2xA8J54l1SQF10e2D4UlO6b1qR5x9J15JLEwf0IonGecrYikvC +pIHhJKKUJvpWlG5vOouuHAJkh8ekwz17cEle6IOPY+p9hiivk80npUzbdybnHK26 +pNGPICich8sUWNaiSUia/TCwIDzU4NkNhsOxoV/QZOTOFnHl4lR81dSeptdVusPg +JdC0+VCMc8wGgXdDqWxPzDdT7CIGNZcqpltBEe/27QPVYxckK3kDkOFRXshD5lPv +56USHrECgYEA9pB5ChHu9JqkedN8QgUfipl/doAOz80vghG0gi+wvkeD/XrzXaES +rXlkGJFKbPkTGhemSzBPQNEbpQa8Y+h+GfKLHux+Kd7pWRym4vXojxeJyaCCG73i +d2qtoHi5QeZOY36AJT7bq3T1ZKHG157vEXRghth+ozpzb1w+KeO1ZNcCgYEAyH6j +FpowWYdsPljqx+7SfoPdes/LGtfIWnGRM12C6H2Lb9FX6l1yIMNJQgYhyRPSbifL +uArj/Jf9LskaaRYHvjXbtBANHHU92kBZszMj3x437otADwL9iWsV/cyIDkei5QTl +fP//M5RSZj2WyRQJ8hXTA7Ya5e3rGJYlHQ1aRlsCgYBJMK2dXaFvHpCAUVTrTBYG +0HXTuUOsT54woAzTMFDoytXVYq/nNS8UK5qY6FgNbQpMjoSggSClfu0T2aIGjjcQ +gLznWxBAYZknCKhJavGzuCsAnRLCJWWaSSJtJijn9POD+UMUy0nt5XQKgTNDQjx5 +E/CrVoyQ64LkpZ8WVC++VQKBgQCLUMu8cem03FAPxrNluAKWHMTyiJ8mCNjUV+PA +YHMNX+dbDIlddg9OysQF18L0OQzYtFhvi0m+hFJOhzkN2lwJBN2kch7aLnGLTXnG +9nsvl4zf+ezKQZaxPTLrx4qm+YosP0nDoRLQ4XicSKGVGZKLoDSfeJOaP8dDr1kc +peGbzwKBgQC3Tz57NVbIDa3SdMlpgV5iUj+AQ4Q4OLxAWzePttic1+nalQyFLMBI +dq4HytJEen/CK/XwelHpMfMv/t2bZcqags+Epm9Qhd7jLMaFsmrscmdjXdp41kRR +KOjZHBUuhK7HfeBLJ7oLGDlXHvtfwC59DRLipYrtJLG4Etkcjfav8Q== +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/cert new file mode 100755 index 0000000000000..ab75f495bde84 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDDzCCAfegAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh +bGhvc3RAMTQ5NjMzMDY1NDAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx +NFowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTQwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQD8AqsPL2/NyBR9LSPSkLedA2pI5DeQ+z7Zfp9K +8EmbCcawXZabrkPCr0LwNyylynssZXqGLYWvwpl8zGk0E2Gr++diIg17uZ4lZUKN +jYhGdV8Y1Bx2Wl1At4LLe+bmxv01hslT4EDRzHfZU/wy/gTtYMJLuQOKqddW3lkV +FXNgJOVGmIm1tehwDCJhL9NIyQcy6w4i86e5B8q+pk3V95mOlKR7lHhk1ZFsMCKh +TCYG/qyu+ZUkKvZCoyV9SwuaN8Df3TT6MYSX2ulvmze2okfePwTeKMpwudrfn440 +0TWrWKJuMdNe9bHXsvhvPZlqBCouIqPC1KiuMg+Pcx0laz9BAgMBAAGjVDBSMA4G +A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD +AQH/MBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQsFAAOC +AQEAXHWVJ8fuPrF7Bgj3i7fyH0wE6mHeUMSy/bxXdbrkY/H1wGMxHZa8uAodXeNa +Nb3pBzroqZcVWjkh56knGgeZE4vmkWWZZ3G0Bj5jr3kzhZ9Tpd1LyFOhIdUttHPs +DOVfD7AIl3v4xlMDwlYYQKrt1LzHZX1n7sJHJK1s5pL/lB9PdUGka6XLXo7meKPL +KluKBF729MfwBx/GNrQEh4Hw9/KVnBisKKdWqowrKzVzGj3hv2q+wCxDuUZyl7Cs +nw07CGIn+t7+5/jRyEoIwUiOydvaOFkXgOpWxHQVEj+7Hw+rstDbMDQ2+p4LpJjC +bLBrGtpaitmhTPyT+SSR7AZisg== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/key new file mode 100755 index 0000000000000..fbb247fd723fd --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA/AKrDy9vzcgUfS0j0pC3nQNqSOQ3kPs+2X6fSvBJmwnGsF2W +m65Dwq9C8Dcspcp7LGV6hi2Fr8KZfMxpNBNhq/vnYiINe7meJWVCjY2IRnVfGNQc +dlpdQLeCy3vm5sb9NYbJU+BA0cx32VP8Mv4E7WDCS7kDiqnXVt5ZFRVzYCTlRpiJ +tbXocAwiYS/TSMkHMusOIvOnuQfKvqZN1feZjpSke5R4ZNWRbDAioUwmBv6srvmV +JCr2QqMlfUsLmjfA3900+jGEl9rpb5s3tqJH3j8E3ijKcLna35+ONNE1q1iibjHT +XvWx17L4bz2ZagQqLiKjwtSorjIPj3MdJWs/QQIDAQABAoIBACnOZ4JFZE7G+l8p +td+gklVB08fz1CQBChQapWJRKmTF4mgvnmSFLEiHupsPDCEUzgo3a3QG6T6XEc9a +Obmh3Xoid+gXrhTwXgPmIHxLFmhZ4ETGK1KW+xFZYCFRlKSELk1K5us7MIWdXeR3 +wkbTTQ30F0dokeXW9xo6GJ0eyd0Q7ZHzePI+Gh9ORLNeRdyk7Px6cFuDtox78r7b +teQMGNeEWtdJArWIbjxPprp84uo4qb876W2TBCt/rrFp1CRfUXtjSYQXTEsvon76 +is64X3lQhZR3HCbtjbRVhq76aNJQweVIO9CHkeLwyzGc/PyblNJNM1blIWbgQHvy +Zr8kYAECgYEA/0e4gCGohQILo4E1EnhWuHwKPACsBHkQ/D3JT2H/yo8IZUvnsPZJ +0iNhDnnPi892Xe9n7q8LG+9FVO8OYghfiF4n66dAEO8J0UFsA5CLNGr69noQEUvq +GJdOvX+NGFOzCaoX8ld3xTt9V+pvMFVPFKIoy6bns4PJlllG88vgweECgYEA/LiW +UKYomY3T8e7KgCIilkNrKWYv2qCKgoXMHerI+gz9BvcSdDRz7GHpkV9ZP9GJuJ3n +uLHdUNkFam5jtpwfqjiBvrINgqu8/jesPeocxQwJf3x5iGazxUCEK5YonePyuxih +e3pR+ez1b3wjBfVshs8tg58F0OdO3qVu+IZM6WECgYEAz+Ie7DD8o7vjsHWSu4TF +0hwo1W4Spt3UKCVEn2GFxPUveBYVCjW2Lerjqb8mdYsvsBU6hNOE722s/xphkxGQ +gmNyjOO5N1EBpKdrB4gY5EnOLxN9rCgu7XGiDI0nYE0gulkKgS4becEVNJfTjf+a +k4nuQNGdU8GZUtdHAVfgouECgYEA5ksrJxkTPEKjFf89ZyA0FmwfVh15lCfhsGlO +hSCzvjFhzhwOI/i8fncHCeMyiFZgwuyaAZOLkyYAqmkn0ntY25wcl3LXnvDzC1Ie +UllpmCKM8TCz6xlzzlcpWjK+lornYZljZgskcrR9P/eGTuLD3+Ehn6Sk/yYZmAh3 +JF/17GECgYEA2x7fCZN+wr+CmG74GFdNnghqOkQQ9JleGOseHM+JIRD3J3WkuZ9x +Dfhe68OEaUBsmB3ttDiHQ5mS+YyXIZ2st6/0KQ7v6jEM3CwUoq+SZUqV8FEIBf0+ +r3yQI5sB/ZxWvsshLtlLUgdAby+ava8mG9M5RwUjp8kdmzlkCa54cc8= +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/localhost__/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/localhost__/cert new file mode 100755 index 0000000000000..38a95960fd33c --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/localhost__/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh +bGhvc3RAMTQ5NjMzMDY1NTAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx +NVowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTUwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDfzQINLvjB3E/ea9+PW5SLys8Q4JqE9HUwLTJY +obQ6jqf4BTxtQWRpyu+uO3ALT+oCYifZGSlyYbBnnrCNClbwZYAHT6OkDD7f9w/q +xCYMosgvZhCCILHfolCYdFLMlYQg+pz4O+ct89J1pqyhEQBZRkUTLrXwqNUOfT1a +uBPbIkXBlBn9yG3c9zj7uRiSEiDA6ZcfxDLh2RCEjZezUfL0EExU/ZHCVghew9cg +OQ8T9dpMzCSQf8rG/higV4BZA66KCC+ETm2VXkqgWxJre+bnELHGXbiQxP5t21Jt +ZXjjYcUs1YluS0nLBJiZdn1lYGM2Nok8JAKzg19XYnlsPJXfAgMBAAGjTjBMMA4G +A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD +AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAIAyV +xfmc5DMKgPUt2y6GLICybnI07SaNdzZf/5L3nM9b20Q26VLdZK4TbFsBhR4lfFPU +F4oVwvYbw1bPT9u9RSy0wLRz8a/mJJX/cmh+OBhYJf7nrGuvYADHfi8zhfvnmgIG +6PFezabzKgz5jkr0rbj32mP6sPpN1dzeDWESl7rcCfS1UHX4dlCKxnRqAYUXS4Kz +f4VMQV8y9Q00/D9fH5xLxg2jyHVc+LfD9tA1r0EJKCB7p612k96YGFFqYqxQOYmr +/Ut+EN0w/YMHuzMjhaEi+9T6r/VMYr3l8B8U1z0PYPFbbvMCGZUf53cBEjjxjg4n +sQgzzTc/yfYXGcVVcA== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/localhost__/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/localhost__/key new file mode 100755 index 0000000000000..f243fbc9f8ccf --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/localhost__/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA380CDS74wdxP3mvfj1uUi8rPEOCahPR1MC0yWKG0Oo6n+AU8 +bUFkacrvrjtwC0/qAmIn2RkpcmGwZ56wjQpW8GWAB0+jpAw+3/cP6sQmDKLIL2YQ +giCx36JQmHRSzJWEIPqc+DvnLfPSdaasoREAWUZFEy618KjVDn09WrgT2yJFwZQZ +/cht3Pc4+7kYkhIgwOmXH8Qy4dkQhI2Xs1Hy9BBMVP2RwlYIXsPXIDkPE/XaTMwk +kH/Kxv4YoFeAWQOuiggvhE5tlV5KoFsSa3vm5xCxxl24kMT+bdtSbWV442HFLNWJ +bktJywSYmXZ9ZWBjNjaJPCQCs4NfV2J5bDyV3wIDAQABAoIBADoAbsyt5MiRaZ2y +hXEpAfms6Tdtjn5wwMJopEi2N/iJKl0sNjn2naiRcMbOHr6/yl0txTgNvmEnkkl4 +pjcXe+q305ORf06v4ce3x0dH6LiTo6AtKpAfGxpjfdHVK/Rbt6+4Y+At3j9Zlqzp +MopX1qhMfvB2xa6GgxlLOhB97p926VtKYOEoDke8uP48HJTabeiFKpn76k+0HwS0 +J58Kb647DM1rqGpZW17dPb2ovi2eznATMeAgveNvVaXipUCsqnrJI+ywrLP4TBll +Mly+DZ42e1YnM+rd0tzgC/YNO8h7lF3YnthdQ77h3Yw09cvtmHPEuURgGiHIH5IY +HlYKBEkCgYEA7KXOLnufN1J7QG9CqsWhKI+ZBGGTd3LmXMHTM1tLpFcQaRNd/kxg +NVo8y4VEpCdatKj+yRe3wPZ8rO/Q074Rzys4VyTP8BNn9YjtttbP8zBDmLqkXAAc +xVKNDiuFQ40HSIdexZVP/YVCp210q6YG3OPoT4W9QvjfPHMfzW+2euUCgYEA8hpB +PMyl/RL2WHQHdKRRss0k8AWjtoKzepRkzrwptzgFOQZSmuvfdiPStp126iCinzag +EPsCo3T/1E1Fj4LgOIPhRd/ibXYSAParxmmx3rMTrBwo3TRf2c9nZPKAygsMNF59 +T5ySJzU6tWE0PEtCIITW+WnQeORPzW3vE0nSzXMCgYEAwHyBP8foEryxahDVvkgw +NOjQgwLHS0KXY914Z+6bkVoMDBvnuV/wZZU3nCeTVJ56JjbLv0/edENJ1/Tc/E4+ ++C7kjeVwiYuPZOVyzeTekqWwZftyky64ODxUZbE6nV6KDRGnIbm4rbMGK19ZpgDO +1j8/B+f1sRLzqZzOwnBako0CgYAVSR2nPM7zOzGRgVIOfUv5jnPK7pQAPemNw3JB +guWgCDrdUqL8n/RbrLaf+6Qy3X+uw9y64XbP7D956PlOrtEL5vxtaku8F/9pOkbM +AQr0a4Y1QZyOJkavHb8XbwLHwMTn7c7Sqw9mhxWMUOmIy40a0tMbxqPfnSMvCpVU +es8f5QKBgQCeFljjAnEQpuUduug/DAScAjTEbJD/18wAu1PuIM/+/zFEVaOs5w0z +uHiiPq3fiaaoBQHZofd8mxsugfLYftAP25Qw8X/WgWPg4CLGz3Br3HgnV6RyWXr6 +R600l5lWe/ZU5epjEsToc20H9z9TbXaSKWMZiMIaMnAeboSfTtQY3g== +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com__/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com__/cert new file mode 100755 index 0000000000000..d87b91f554463 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com__/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN0ZXN0 +LmNvbUAxNDk2MzMwNjU4MCAXDTcwMDEwMTAwMDAwMFoYDzIxMTcwNTA4MTUyNDE4 +WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNDk2MzMwNjU4MIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAtNQ9DkyC1Dza3OYBLcCPeJNKC8BvYVVTL+FFzpS5 +AEPNdNA/Ezk42SBWNvaY+HYBrZniOSVMkTPFT9i5sT8bBBrUUvwGk1r6tpXDlHw3 +/S7QThqZLkGcAscmahp0mWnIIGcJxZBVMR1cfFbYNumNR9UyjUDQumCb8hlT3q0n +pEH3CL3jRpdcFolczotUzGk9u07v81gIWgQVCyYYu3WuuRjviLq8SVoHlAWvVsdW +rGcG1LS/OKAgECYVUxs1Qauw5VjlXPGkY7gOOnjNcl3IHZU2+7dGFw1gBf+gEC5E +/qr2fI7Lwx7R71sY0PANuuDLGfrCAaCjG3HZ01MC5Ktx8wIDAQABo00wSzAOBgNV +HQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB +/zATBgNVHREEDDAKggh0ZXN0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEApTrZW/xo +EMiNgBnRyqR0wHXpuQS/V5h75CtDKE4/Yl57cQlh30SX10anRgNpeBmaZjyFQp0P +3MAQoxUh8rOeQBcqZp7TiIXAk8w4rYWpFx59GGgiO5yD1vOj+9cIvAFDR0Fe1kbb +kLo8s93l4yNFTdxIIIDMgNpPcp2620wkecR3PwRV1jlM/7nMfgfRJagN2+Xq7mKC +ELzGatuXBpiy+jwCirmgmE8/MxbFbsR9L4EdW1kdYhRT+rnSNIEN3zI8GXWIH9Hu +91cGTgKiz1znXtlmLAaIoGTahv23YUV7tbQlrtZDZjpqvTN6yM3vS0HIoSxQnT2l +yizQSNuYSUD4HA== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com__/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com__/key new file mode 100755 index 0000000000000..00d37caad5950 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com__/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAtNQ9DkyC1Dza3OYBLcCPeJNKC8BvYVVTL+FFzpS5AEPNdNA/ +Ezk42SBWNvaY+HYBrZniOSVMkTPFT9i5sT8bBBrUUvwGk1r6tpXDlHw3/S7QThqZ +LkGcAscmahp0mWnIIGcJxZBVMR1cfFbYNumNR9UyjUDQumCb8hlT3q0npEH3CL3j +RpdcFolczotUzGk9u07v81gIWgQVCyYYu3WuuRjviLq8SVoHlAWvVsdWrGcG1LS/ +OKAgECYVUxs1Qauw5VjlXPGkY7gOOnjNcl3IHZU2+7dGFw1gBf+gEC5E/qr2fI7L +wx7R71sY0PANuuDLGfrCAaCjG3HZ01MC5Ktx8wIDAQABAoIBAQCE4IjVHwfsKaOy +OxmWoy9KLQF2TTwLTAXK40DGoqanOSuasQQIfj313zs7PE4AFcb56GBCGdR/xokx +OVKKmpKhm412RVgXo/0jej2zuOvzkhjjq8vwH6oiqHDj+vi/WuoCVXTqxjqz0p2J +iM9s2oZEyLdS8NPwgNlXN6FXuemtWsao5ramsG8c0XM08zWazkrLGXf63dsNlEoL +9zzpP2nNx1DVVDTUhN3mpJE60IG0niBE1X3CuIrq4A/hIOut6qa9VgdOtnnwsAyG +hB3ZITeoaRowedmREUSSuzXnWkfHSa5yJoRlhje4mV+RRdhZ+1DSa1jzn1ZtZhjV +1/6KQWOxAoGBAMdTlTm+9c3rtqZVgva1WfwRpfd2B+HAy/LuBQMSNEmMXn5ooJSK +05eXMoCQC/+3fArCjYl+I7u9GHFKa4JeLjzWbqPbski5cTEHXIINGsnE9OI5pug9 +EbiZvSeimlL9Lw2BUQVW777cfz0esI+Tg514mn43gV633BWZH/AP3LHtAoGBAOg+ +R2EnDs60m0d0apR4kuZkoJDfF+uYgqyD+SMDDzgBSr4IDvWRzKAhYn+R1HsWeOxi +U+8kx5zmDVw+GHg397FcTIVfnuQKwmBZU/XC7oKVu6wshMXFbXUSQMmIuDbu5xmZ +1uZvMHtdszDwBWn5zGRSM3oXSQcwburJ6f1KSbdfAoGBAJE/8jUzV5GoG+BX3eiD +vL/36FZMt2+l+7jaA+L6CAo0dMNu4N190LTdpBqVXXkJryV0Iom31rg/EqmzzmYg +1VbV96gGN4PRRo+wypOmkwfHM6AK3PrNTbWUqodQcV7aSshvnKfkcy5FJZ9XVtg5 +aaZ9tS8WqXppRsKiY+ie1nb9AoGBALtl1Y8NRyOAFHP5+i5HhLGnrPB5NAIFFBxE +eXnI9DTKxhbExd1dgnILvkEV2RBhN732MagcU33FHC68ZF5NOu7AfXZ5i+qSy/mW +2urKGk8Ap2jsm05CWmpHCkQUsCCTcaL0wbU7LzG8j+UDKDs1N7oTojn4JBNK/5Uw +zEB3+zedAoGAYAI8WQm20ElzbBB8MqL31zM3LZ5Dp/GIjPWhjwEOsGt2oCSrLxC0 +xcYRq73St5RS78uGSJxAQaMQna52idifxRE6D3IyAvsMAbn1q+LCqST9zy5jzmO8 +tUNvhnkJs1jdDjIzWVtbtMWb7/5wWANx5989B1+QWU14Qmb7uziMVR8= +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com_star.test.com_/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com_star.test.com_/cert new file mode 100755 index 0000000000000..4870aab787460 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com_star.test.com_/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDEjCCAfqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN0ZXN0 +LmNvbUAxNDk2MzMwNjYwMCAXDTcwMDEwMTAwMDAwMFoYDzIxMTcwNTA4MTUyNDIw +WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNDk2MzMwNjYwMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAwLNxhHFPJFGnDoOnt/ELutNthoJNYLwus52+GLD1 +VYDDBA7766rzAxK8wGF9vGbXZX7L1uW3VJyJJLzZR1bBTdeOWXpyscz+33+jETbn +Eg2Dp7KbdFAFw66B90vxLbHKbQtH63VtNg9lh+d0K4QI6SGFlI/Mv9VWawpKk1P5 +X1cgl1EgR5e4kIgQsrkO+MRc0SLZG/s9MvThrHVlZLWPjRaiqk1GDxvBjfcBoPzZ +0jOHhWLJGWZcwXZ5brqPcqn+YMceXQlxrjxJvyq02DEWjtfimu7qoZ3+fgQy4rJ0 +GzPaDvwnkwvJQ2iN59mcybfg6AoblCOt1ypIqouMrI/J3QIDAQABo1kwVzAOBgNV +HQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB +/zAfBgNVHREEGDAWggh0ZXN0LmNvbYIKKi50ZXN0LmNvbTANBgkqhkiG9w0BAQsF +AAOCAQEAGQ+K0dnTaX5Ry9PLA6M8yrMhq5gnX2RfyIMXCuFfMqjdju4BkTR+6zm2 +El8Z6glQ6QsKYHR4XhlhHFOP+gGyaTrsDSV2qCgphJmtn6QWOSfEmBRNNCTpMXfS +5Ek/2dXItMjmnMdDOqcLofQyIIQFE9VpLyaFN0n1w9k6EscwSxsMiBVFwOhHpBex +BPJnrKBDWNVHjgocUI3YzN2TzzRxVxB/xc5+Sl/jnpguad+q/wjFgpr9p2a4yAS7 +W5bXcA1S4iSp8uKVv0JM/cfFlF094ft88A/SIt8Sn8BmeOGQtSk/sf5mFbr7TRqE +oDuKNM5AIM/fClQdlbKo7xpcJCiRkQ== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com_star.test.com_/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com_star.test.com_/key new file mode 100755 index 0000000000000..e0653fc3a3678 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost__127.0.0.1/test.com_star.test.com_/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAwLNxhHFPJFGnDoOnt/ELutNthoJNYLwus52+GLD1VYDDBA77 +66rzAxK8wGF9vGbXZX7L1uW3VJyJJLzZR1bBTdeOWXpyscz+33+jETbnEg2Dp7Kb +dFAFw66B90vxLbHKbQtH63VtNg9lh+d0K4QI6SGFlI/Mv9VWawpKk1P5X1cgl1Eg +R5e4kIgQsrkO+MRc0SLZG/s9MvThrHVlZLWPjRaiqk1GDxvBjfcBoPzZ0jOHhWLJ +GWZcwXZ5brqPcqn+YMceXQlxrjxJvyq02DEWjtfimu7qoZ3+fgQy4rJ0GzPaDvwn +kwvJQ2iN59mcybfg6AoblCOt1ypIqouMrI/J3QIDAQABAoIBADlQ5lHTdgvCcaMC +i89NVgTSwEAC38sHDgkEwTcM41v0OY0qe8nkBfYDC7tZBBIWsLiSl0Sq/PWgvbX8 +qc/rQQHLPJ7mqdiytZh6mWEUaHRZKrClklFtP9mtPSD2KJ1DxYbblR+2xK4QtE1R +DZ+n3RKikt3WS7s/VD3wSLA7iO/PMJ+ER3kPxZWsVYJw6KpmR8U/v881eM7NGoK3 +SwYSqXfcRidNOl68Je3vm3MpK7SiPEOX9AGJUXlkpjJcyOqEE+X23wNSZUpKT+i7 +NIrXaEml1nKlTRMlDWi5ZPqzhpguc5Nmn0Tu+01ZClwcu+/7b4C5tkIjXQnyjXsO +0o1EqcECgYEAyEJwGl6KvvYaRsBiFRWIN1950S87O0grOnwb3/FedW4CEf9Lm/Xj +653HTe3zYAJDlsRFCOQ/KXi6nUjAAv8DAydKWmr5EonNj+VXT0Sw32N681lDMPzK +4csJek2bWt2alKbachKAq/gr00837HELl1ALr1X3a3HXr6hZHNjUHpECgYEA9lZq +tXDDV+emyIf/O9LwDUkctHc06qD+uBfiuW0DqVeYPE7E3QPsPzyjnwSfqmgYlpKm +Ku60MfmAVXT8kUSBUuY9ph5AOE/5LwkM3ONc34UBtkruzHUccGXuXelUzmnAQLhi +ZJiWJJrHYICcOZNzd9UmqYye66lyzp9NWe7ttI0CgYB8qYcZkzLxz0fqNUaZc275 +cXDmvG016SYn4SyFCr9PgKy/QVpy+u3oNa7lHzR61s32Y7XJ5DRBf8tDsA7/jnn0 +k5fgk2j7llcltZHVYaBtX4MhS7bdHvC5AGik/vyv4vWghgHEMypwYyv8/fqFMJYT +mpu7iVtdQmAPFFBs+bmKUQKBgQC4Hm8znkzjbymhyMRkmo0B4RurZ04N8LdyMags +n+aUs/v9V4KdD0mNGm3RdUtBuvxlzsaUYEYe9DWPqhj9Gw7uP1jkyMeHT38YQNN0 +ZhwMlQVqkydZek7/U7COUNAqV7Byr14bglD2mxlab8ZU4njzoEV9hLVjvwsolLjj +90mEIQKBgF/IE4+wL9sdeQ7MGanYHFzQtyKxWnRzCGWDkHV9InGZ2I7O3AeqDC76 +fXhiRoRbBMSgddyOYTUoaPhwgqPGoC9H/3ZHnyx5fokl0FTNfzk1mnY1n1HD2roR +p76hbMs+TjIGG+lNDso3WuV21Gn+vynDVO9FQumgeaEc+CLXpwEq +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost_test.com_127.0.0.1/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost_test.com_127.0.0.1/cert new file mode 100755 index 0000000000000..e9de284e55e44 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost_test.com_127.0.0.1/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGTCCAgGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh +bGhvc3RAMTQ5NjMzMDY1ODAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx +OFowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTgwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDO4DuzjpGF3Em7sIrAv6/19KyTVLxV4jM0XX8G +S8Uo04oyovHnHqfCDd+yaGs1glxD95eqZ5kZDgQNXhn+oZkNvcPJJ8O2tPhHwvjC +PR3KzNL3dFMo6+7BCmBRIVvSNHkkZ5lyoOSE7deGvoKl3KuEWUGwUiGnPx95snCD +HPfgHYto1zSI2NbdnF4hRuOiSFhettMZiwpXEYGhcMh1RYDYxPf+5/XcFz3VCdpF +1COXSYIS2r60H08dH1u6rO1iliJaRh+jqk998exdi0TwJvVTiaubMRZxtGkPNxjE +tSukjDA9UaqAFBnireXj2qc+a6B7AMsoTymn8Ka6QJyt+3ZdAgMBAAGjXjBcMA4G +A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD +AQH/MCQGA1UdEQQdMBuCCWxvY2FsaG9zdIIIdGVzdC5jb22HBH8AAAEwDQYJKoZI +hvcNAQELBQADggEBAAOc/JL/2xfnPAcwzxvF/ssYK6EpjD6plG+OhlIj5UiXo/z4 +5IcLCg+N1P7dGaiSMfI/hIM+M/z24QMk6gXFMrVUFh6sm49dNmTry4Qsyp8Up5HD +ettKLaWG3YA08VeqJ0C2xsFh7nJnrlzQad1dwtnj6ActWx/2g8SFkfpQYLba/YI/ +YC3biwKGY9P7lmCP5p4234blenJHJW5hbwNyLManvEA9O39Rr4oph2Z1YtmpsNM/ +p+xioLTx7oFMtRkBBpmzSKJgLAqCxVg7P+MzjS1s3W49QLI8F1sZ+mXBrZxbALhQ +TtOjvUx+vb6Gihkzn8XkGdbgsiOTMBoT0EmIBJE= +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost_test.com_127.0.0.1/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost_test.com_127.0.0.1/key new file mode 100755 index 0000000000000..5016e338c332e --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/localhost_test.com_127.0.0.1/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAzuA7s46RhdxJu7CKwL+v9fSsk1S8VeIzNF1/BkvFKNOKMqLx +5x6nwg3fsmhrNYJcQ/eXqmeZGQ4EDV4Z/qGZDb3DySfDtrT4R8L4wj0dyszS93RT +KOvuwQpgUSFb0jR5JGeZcqDkhO3Xhr6CpdyrhFlBsFIhpz8febJwgxz34B2LaNc0 +iNjW3ZxeIUbjokhYXrbTGYsKVxGBoXDIdUWA2MT3/uf13Bc91QnaRdQjl0mCEtq+ +tB9PHR9buqztYpYiWkYfo6pPffHsXYtE8Cb1U4mrmzEWcbRpDzcYxLUrpIwwPVGq +gBQZ4q3l49qnPmugewDLKE8pp/CmukCcrft2XQIDAQABAoIBAQC4LgSZAKXook32 +zt9JaZ+T/yih5r/iSofB6DeN+GloxqT0HgP1+2Hpr4ZoBPTl59CTJlyd9qvkFYlg +CVZlT6O/CyLC9ScWhBnDcf8cl2LtydtNOgBLn3mp3b4QnP1tsQ/lbGK+HiY1frby +nKweVM9S/lAwVX7mspkoNMhcwq6glLL1QnJmLfmHtsOik4e+eD051aYI4OcfkFFo +T5f6Jg5oNC0L9x+ona1avfD2eBmXmUv8kV4+NSeu+pM+hWnc6r5XnHdXgo0Fu+nf +CQ6wUkyXQAmANI/qo+73G3lEZ7KA9mqrCTbM8sulC4c7+Qpb1vHjuz7pSMj57k67 +tI2lPGW1AoGBAPDdooMFZIq6n7wt160MlYDhLujcPaMzgiXWPg9TOLzuWrSZleGH +k818LTXKlQP2ffVADlwHvyi0E7yZVzmG2Xt6Gi8lkGIP5LZK81BlsBspX00bvJCM +VeyE6flSwLA86bQt8spYNAOMMc12F2i3y+YkoKfQmgMiG3H7RjM4Yeq3AoGBANvf +3bh7iHs74oZz40em/W+LdAFBE29FeCloqIXnueHVTLdpHFepmp5OBxogkaYJlVOF +0B/cl8sYn/6CtqKHzhCcCc8V/54O15n/yNRMru4GU0Z5mhaxWvypJM3WXTVvC612 +ODM7shXtFQAF5kgeGSDFOepUG1XRPqPjBmSOFiOLAoGAL/kkzg276bmj6PoEc+4G +tOWkzzJWgHPY3ypdr/W2XkLnBAN3C7VSJeIuqwEPTvvAOKGqen/8feHn8G9mJQoL +tQErx+omaLGbrwcckQ2/1pkV5yi4FN4umu4aH9Nwl2l6bq2cJtsMeQxqOu7jWLMK +xGrVKLduhWM8riYK5Fa9gd8CgYByWA+UOxoVDGWXinjt8FfoRFuFs3QJ79S3pCfP +y1yNp0GIOG9230r7fJSQ79MOx/kSQIqlpzCBfELoNs4H5Bwz4xHu0f/nEMzq12x3 +i5GFU2DHS8Hofz9UGhp7uTkr6p3mDY7YhfjtEihTpL3HT2+97RNbW3YDwReUXyIZ +9RJqVQKBgEQzEKMFpA5NTzs4BanS8372XXKBRhP0CCTcxS23k/kkYFd0Swnsmv+s +ZCJhV5B1Uz0aSK9jfvCaEfwHjdhxfyYBzoXYVxaxphwNY1Vq7QaEzzyXWKDK3beS +9pwnZf6bEQEvvXyJ3ssqLaHWCoViHe0h/Atsj6UOYhQt5mXzZDEK +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/cert new file mode 100755 index 0000000000000..f678ca992b3a2 --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN0ZXN0 +LmNvbUAxNDk2MzMwNjU1MCAXDTcwMDEwMTAwMDAwMFoYDzIxMTcwNTA4MTUyNDE1 +WjAeMRwwGgYDVQQDDBN0ZXN0LmNvbUAxNDk2MzMwNjU1MIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEApFk4QTS28tu20CSV1s0aCC7kV7p/V8XziC5g98OI +GO9s8uVrzc51xsnJ3Y3+Xnx43x9G9VjgSNhPAuE7+/UnP6iAkZZV0mOD3xwwILwy +JK6gZOcZzd9BX9JldSnjv64r5peg5mzdhNqpRs0i3oPcfriW0sGkzl6IQlsowGoS +eDkO6+Z0IpQDo4CqcWond78LDyvqwbfFReyHEtz8D17sciGni6QPK3kGBFDiO0Ay +keV4GqEXw13ryKzVun/haLmekRf8svAU8+pjpHY0uc1cv0l0nTIZdwnp2EIF0msa +EKYyUUpcuFkMQTToYzj9LaIQmvAGIVIouNAydbheBifySwIDAQABo00wSzAOBgNV +HQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB +/zATBgNVHREEDDAKggh0ZXN0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAWlrvejAW +DpKWBfgQpJLpL56v6dFkCjhThtvDrfvpx/gL0p2QQOIrgD7o+/+fmockmpphf8zc +lAFS/M2IuuvJUN7qvq/4pnUa527LsQFIQSG4GhNfHHdKfISLdjgy7LRlmjLnnSu3 +9qa5KvJg9SIWpe41LbeQPB8fLYNuF+tPzrI7QLp/VbMSSyNz4wzpdk8/+r+3KmU8 +D1SEQcaEIg7/YlyJ7TZiWiFlZRFcObE11lRYo6tnh8t2e7s0IqC1JwiAmCk0j0iZ +kHE8yND+CuO8QVDxnmu86STL+q0ldZL6C/1lLlnKFKLp+bZfW+s+kds7lDSmUMDi +CbImL3sIf6clIg== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/key new file mode 100755 index 0000000000000..4e996b7c7e0af --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEApFk4QTS28tu20CSV1s0aCC7kV7p/V8XziC5g98OIGO9s8uVr +zc51xsnJ3Y3+Xnx43x9G9VjgSNhPAuE7+/UnP6iAkZZV0mOD3xwwILwyJK6gZOcZ +zd9BX9JldSnjv64r5peg5mzdhNqpRs0i3oPcfriW0sGkzl6IQlsowGoSeDkO6+Z0 +IpQDo4CqcWond78LDyvqwbfFReyHEtz8D17sciGni6QPK3kGBFDiO0AykeV4GqEX +w13ryKzVun/haLmekRf8svAU8+pjpHY0uc1cv0l0nTIZdwnp2EIF0msaEKYyUUpc +uFkMQTToYzj9LaIQmvAGIVIouNAydbheBifySwIDAQABAoIBAC07+UXJMomJe7my +OCOU9BNIhMS4qhAIhcz3puzKvozOaVg5WQCeUMBUDeGTEW4EKGiQ/UDOI30pPCX4 +xD/G6/STdj+b9ycfCM7BvWVlJw/9mFvtV6bYSfALwq0KyIqbb63aEgkZ8aZ9YJYC +JBTGiku+lpSPg8LhNfO9j2vWRhsceFEtdkv18T9sCSOQTYIrDKFdbxsl49A/D9WZ +YERYVWmWsSHl4CkKAzrQRMIrREgYJk5R3Qt0Qk+3a4BYlmDG6/5Ayfi0sx+bpcK+ +255GbRPhe9rTUI6uIc57q7TxGOIG+ekTVqkL87bVR8+oLY/5ARW3jXedB+Th2ku4 +/JziseECgYEAx77MOmRPx5ggNQqmSfcaxozmX8Cil6pEZRQxdtdgum9QnyXhG5q9 +J8Onw2o5+u+KsTmXIx4CdcA+fL4Z9D/g6GHsi87lJT6KhdHGAmPsEVFQYc0kme3X +hEfGppP4G4haHBzhNh5V9CxlZ7aHsB9J/LGZ2Utz+kvGHE/8GKiERNMCgYEA0qJj +8pdnnObFW4x+/TrOzf9jxAyB7xp3ZTp1gayzmrG4cQr5OMhAZEXG5t1JOg5SvQXh +LRWDr21BtbizJoFcAe0FzMdWIR8fz8RfqiFlfZSnMBnkhQrngu8CghAkg3g0h0m1 +tSSpaqQGVRdOFG1A/HSjiNdsBpqLGxejdUfZkakCgYEAuIAFdr4nbu6WeUf/93w3 +EEUfmjx+MudES7VORz6EC1E8v/QmLPBOXkd8U6VwLthKXI8cioRysz9CuMiDgrfq +T9v7udv+jtto6listJKFgC2CuQPbFg+6LWZ7GGy/FPdqfGM0p19395V2iUjxpn4Q +QkfuGud2FjEdqhM7ga9OlZ8CgYEAvwXM1NYgfnf/Jh6NkEREBygFJ2gccmazPxe8 +N4UTQUjJt6M3EBrz4rwxPXAUF9WjjY+GfieTzIWuYQqHVnVcptZ5OxTQdKtQY1F5 +XMZ6z2AAG6xvxYR1HxZ5VNEk/CIIqWTcqNH93xuwLn07L2VB2XJCWTjc3ERNwZ03 +fYZStzkCgYBtXFo7OC80f6xRDa1NfQfP4vP6dMczZBZBx2A/rCybwtQsJ40duEB2 +hGmgqIrRfh7H7KC8W792xzE1PKUXztTzxxpIr7Ho/nDUWzambMi39EYyBJ6Fp7z2 +RkPJFDkAYDpx/v357886y7HFz8pUUNd+z9V9CLemVqhjBWmIaLEX/w== +-----END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/localhost__/cert b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/localhost__/cert new file mode 100755 index 0000000000000..28870c9aeaf4a --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/localhost__/cert @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh +bGhvc3RAMTQ5NjMzMDY1NTAgFw03MDAxMDEwMDAwMDBaGA8yMTE3MDUwODE1MjQx +NVowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE0OTYzMzA2NTUwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCmZQErnj8vlA5uvizHXnGmvDCpeOkc5Ldbj0Hz +zqTCiwOSTBeestdN6oLKvxJVlvyO3UQJxhJWr00QRwdCYIvLIDmiBQjb7ciOPcl8 +WdLjBtZ36288E9P1nVwFi2RwLo/XzZlCYX0aRe/SM7/h5zzNxBR6FdRvtI1d5as4 +qiGdj7TqCFIJ/8jaBfxlusjEJd+xc0Cn8IAmSpPJYCCDmxjAzw0D12Ui3toTFHUI +J9BA7iXTVvMbfau8KQJTPeu/HQ4zgU//4GW1Qo52gNzfY37iliZaG3HTWD1pxTFO +qdDuprFIffsQrQ7mHAkGnAExxZYc2cE4UF+ME8dV0/6nTQA1AgMBAAGjTjBMMA4G +A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD +AQH/MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAdUUo +i0A3ttsTca5n9OY4EbDPQz7uAhXkihwoG2YeqnucrNXg+SaS+7hFA9sa1gY5NmDF +96OvmQLBEXVz3uLEiv2KGtY5yiAo6iTtk2gtoGAloULEJ018XGQ0yNuDWUfRLyc9 +5nA8CBPEnBR7MjO6XhvvFMbAjtXoDKFqVeq3okXbL7ygUjlpwv+Sbps+DjQdmnIQ +A90S7gcFqaCmy2KnzADartasIImy/78R9r68UdJrsmyy/aPNnJ/9AbbU8Z20JFcu +clKOENaKJe/o1nOVzZA2E2oVElT++2wNfomDN5ae77cLoCjZPOBArFlhwyk16YIa +wX3ITLz6Ibr9Iy7DvA== +-----END CERTIFICATE----- diff --git a/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/localhost__/key b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/localhost__/key new file mode 100755 index 0000000000000..1f4e63735cbda --- /dev/null +++ b/staging/src/k8s.io/apiserver/pkg/server/servingcerttesting/testdata/test.com__/localhost__/key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEApmUBK54/L5QObr4sx15xprwwqXjpHOS3W49B886kwosDkkwX +nrLXTeqCyr8SVZb8jt1ECcYSVq9NEEcHQmCLyyA5ogUI2+3Ijj3JfFnS4wbWd+tv +PBPT9Z1cBYtkcC6P182ZQmF9GkXv0jO/4ec8zcQUehXUb7SNXeWrOKohnY+06ghS +Cf/I2gX8ZbrIxCXfsXNAp/CAJkqTyWAgg5sYwM8NA9dlIt7aExR1CCfQQO4l01bz +G32rvCkCUz3rvx0OM4FP/+BltUKOdoDc32N+4pYmWhtx01g9acUxTqnQ7qaxSH37 +EK0O5hwJBpwBMcWWHNnBOFBfjBPHVdP+p00ANQIDAQABAoIBAEqbVTgCf2BM6V+8 +Q4WtEhZpoQQL47IB1zjldfPkfrl/7T0Ggzy0AZe9A6H2pDjeNyWzjlM3jXdyqIIY +5udbNLMCIvVDfqJl7pvgllv8RnNm2HjyhnCQj2Q8h0sxIfqu1e40EHjUD2zdWNeO +PoYC0Z+NQIUxDox7jzs/xFLm7aWgVTYk86iFa0/uYwnCQpGHR5OkBOhVdkqBMUrH +7hPIoKgLNHT8/jhugv+GamtAmys1KoqIvZsc/XQCMPVmE55n0OBtooQ3fhBXJC0x +UZgJGKNLSjxt7uxHb/BQk5DtFJmPck0derMNkM8WQ6o/XSjlSiKtsct8c7us/c7r +9OFkcy0CgYEAwB6uKr3Al1IM16t6yEEdfrNc/koJ9AQ3sVHSE5CjFBLMs6gL+Feo +r3oFUglY1QB6v+5YUVsLovJLMHuH1x7fKHmd0Fmx75uVzurG2JdKwCiV39PPKYjr +238Yw3Nk6IllPCn+SOIvPDhiuvPwX8FylKGPjsi7AHphKN0f9EEnL6cCgYEA3biT +l8yvpgPpZrpTaMlotKvZkTKtb212a5EdHn0bk5fSM9xaRcumRsWd9eWGutHpMbZx +wj1jAFaGDleBl08zHAr5jsY7i1C3CFKFEUbYR5Qu5+Ot/gdEyO2+j0ehluPOBFad +P514bnWpdct8Khv2dW3OJMzVdFM7M06MXkQFLMMCgYAugT63qecMuhfRvPijsN9q +5BAGnfV60+qHSb8IbWKMYWCbvHnpS47Rqz/Oc+TE6rDL9O38A4X1k6EPw1dGg3qR +WZ8R6CRiU88Xn00y8Kxvh2OAIs1qyHIPV9yusygiAeA3iBK9ocK9WQjNKG9vPmx1 +/gW6Emzx2K3cLmqlvX+20QKBgA82yCHlcLQSlqRu6qRJFb83/5DgCliYCUUuSvI5 +oXfKNilK2ILri3hVvRYPbuRI3RiFLV8nuTBfv4kiZgkM7TPiaOdsIM/ZdQXEK89Y +riSTPXi5/cltlEG5VpccUjE5ZnyTuOyRkJ77weoMUXPOQWYjZ77Ms2TtBSXrIOSj +BDvjAoGBALAag/LXYvi7l4xIuUMuo1HC4YXZVSqDM7kftLdSUGOl/zGV/0QkSh76 +KCVOwXOCmzFeImrZYYDf4uu1wW7paprNaCV6EiChhRgCrjkZIpyw6RHAGshp3a3e +BjXCIHOW5TsWRdR+IvjzIMp9tbHCEvjSw0jDm3JiaSYGRD1AldhV +-----END RSA PRIVATE KEY-----