SSL证书支持IP地址

This commit is contained in:
GoEdgeLab
2023-11-18 09:50:34 +08:00
parent 0108399c87
commit 926b26de4c
2 changed files with 26 additions and 2 deletions

View File

@@ -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 {

View File

@@ -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)
}**/