diff --git a/pkg/serverconfigs/sslconfigs/ssl_cert_config.go b/pkg/serverconfigs/sslconfigs/ssl_cert_config.go index d252237..169f6af 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_cert_config.go +++ b/pkg/serverconfigs/sslconfigs/ssl_cert_config.go @@ -132,6 +132,16 @@ func (this *SSLCertConfig) Init(ctx context.Context) error { } } + for _, ipAddress := range c.IPAddresses { + if ipAddress == nil { + continue + } + var ipAddressString = ipAddress.String() + if !lists.ContainsString(dnsNames, ipAddressString) { + dnsNames = append(dnsNames, ipAddressString) + } + } + commonNames = append(commonNames, c.Issuer.CommonName) if index == 0 { diff --git a/pkg/serverconfigs/sslconfigs/ssl_cert_config_test.go b/pkg/serverconfigs/sslconfigs/ssl_cert_config_test.go index 6220c3e..6c62ca7 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_cert_config_test.go +++ b/pkg/serverconfigs/sslconfigs/ssl_cert_config_test.go @@ -1,8 +1,9 @@ // Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved. -package sslconfigs +package sslconfigs_test import ( + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" "github.com/iwind/TeaGo/assert" "testing" ) @@ -10,9 +11,22 @@ import ( func TestSSLCertConfig_MatchDomain(t *testing.T) { var a = assert.NewAssertion(t) - var cert = &SSLCertConfig{ + var cert = &sslconfigs.SSLCertConfig{ DNSNames: []string{"a.com", "b.com"}, } a.IsTrue(cert.MatchDomain("a.com")) a.IsFalse(cert.MatchDomain("z.com")) } + +/**func TestSSLCertConfig_DNSNames(t *testing.T) { + var config = sslconfigs.SSLCertConfig{} + config.CertData = []byte(`YOUR CERT DATA`) + config.KeyData = []byte(`YOUR KEY DATA`) + + err := config.Init(context.Background()) + if err != nil { + t.Fatal(err) + } + + t.Log(config.DNSNames) +}**/