diff --git a/agent/pkg/agent/common/common.go b/agent/pkg/agent/common/common.go new file mode 100644 index 00000000..882226f2 --- /dev/null +++ b/agent/pkg/agent/common/common.go @@ -0,0 +1,3 @@ +package common + +const CertsDNSName = "godoxy.agent" diff --git a/agent/pkg/agent/config.go b/agent/pkg/agent/config.go index f71c9068..5f77eb63 100644 --- a/agent/pkg/agent/config.go +++ b/agent/pkg/agent/config.go @@ -18,6 +18,7 @@ import ( "github.com/rs/zerolog" "github.com/rs/zerolog/log" "github.com/valyala/fasthttp" + "github.com/yusing/godoxy/agent/pkg/agent/common" agentstream "github.com/yusing/godoxy/agent/pkg/agent/stream" "github.com/yusing/godoxy/agent/pkg/certs" gperr "github.com/yusing/goutils/errs" @@ -64,7 +65,7 @@ const ( EndpointLogs = "/logs" EndpointSystemInfo = "/system_info" - AgentHost = CertsDNSName + AgentHost = common.CertsDNSName APIEndpointBase = "/godoxy/agent" APIBaseURL = "https://" + AgentHost + APIEndpointBase @@ -133,7 +134,7 @@ func (cfg *AgentConfig) StartWithCerts(ctx context.Context, ca, crt, key []byte) cfg.tlsConfig = tls.Config{ Certificates: []tls.Certificate{clientCert}, RootCAs: caCertPool, - ServerName: CertsDNSName, + ServerName: common.CertsDNSName, } // create transport and http client diff --git a/agent/pkg/agent/new_agent.go b/agent/pkg/agent/new_agent.go index df0af75d..e7145622 100644 --- a/agent/pkg/agent/new_agent.go +++ b/agent/pkg/agent/new_agent.go @@ -17,10 +17,8 @@ import ( "math/big" "strings" "time" -) -const ( - CertsDNSName = "godoxy.agent" + "github.com/yusing/godoxy/agent/pkg/agent/common" ) func toPEMPair(certDER []byte, key *ecdsa.PrivateKey) *PEMPair { @@ -156,7 +154,7 @@ func NewAgent() (ca, srv, client *PEMPair, err error) { SerialNumber: caSerialNumber, Subject: pkix.Name{ Organization: []string{"GoDoxy"}, - CommonName: CertsDNSName, + CommonName: common.CertsDNSName, }, NotBefore: time.Now(), NotAfter: time.Now().AddDate(1000, 0, 0), // 1000 years @@ -196,9 +194,9 @@ func NewAgent() (ca, srv, client *PEMPair, err error) { Subject: pkix.Name{ Organization: caTemplate.Subject.Organization, OrganizationalUnit: []string{"Server"}, - CommonName: CertsDNSName, + CommonName: common.CertsDNSName, }, - DNSNames: []string{CertsDNSName}, + DNSNames: []string{common.CertsDNSName}, NotBefore: time.Now(), NotAfter: time.Now().AddDate(1000, 0, 0), // Add validity period KeyUsage: x509.KeyUsageDigitalSignature, @@ -228,9 +226,9 @@ func NewAgent() (ca, srv, client *PEMPair, err error) { Subject: pkix.Name{ Organization: caTemplate.Subject.Organization, OrganizationalUnit: []string{"Client"}, - CommonName: CertsDNSName, + CommonName: common.CertsDNSName, }, - DNSNames: []string{CertsDNSName}, + DNSNames: []string{common.CertsDNSName}, NotBefore: time.Now(), NotAfter: time.Now().AddDate(1000, 0, 0), KeyUsage: x509.KeyUsageDigitalSignature, diff --git a/agent/pkg/agent/new_agent_test.go b/agent/pkg/agent/new_agent_test.go index 14a34b78..e446f9ae 100644 --- a/agent/pkg/agent/new_agent_test.go +++ b/agent/pkg/agent/new_agent_test.go @@ -10,6 +10,7 @@ import ( "testing" "github.com/stretchr/testify/require" + "github.com/yusing/godoxy/agent/pkg/agent/common" ) func TestNewAgent(t *testing.T) { @@ -72,7 +73,7 @@ func TestServerClient(t *testing.T) { clientTLSConfig := &tls.Config{ Certificates: []tls.Certificate{*clientTLS}, RootCAs: caPool, - ServerName: CertsDNSName, + ServerName: common.CertsDNSName, } server := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { diff --git a/agent/pkg/agent/stream/tcp_client.go b/agent/pkg/agent/stream/tcp_client.go index 19419139..8579a526 100644 --- a/agent/pkg/agent/stream/tcp_client.go +++ b/agent/pkg/agent/stream/tcp_client.go @@ -5,6 +5,8 @@ import ( "crypto/x509" "net" "time" + + "github.com/yusing/godoxy/agent/pkg/agent/common" ) type TCPClient struct { @@ -40,6 +42,7 @@ func NewTCPClient(serverAddr, targetAddress string, caCert *x509.Certificate, cl Certificates: []tls.Certificate{*clientCert}, RootCAs: caCertPool, MinVersion: tls.VersionTLS12, + ServerName: common.CertsDNSName, } // Establish TLS connection diff --git a/agent/pkg/agent/stream/udp_client.go b/agent/pkg/agent/stream/udp_client.go index 9365da0d..a6998358 100644 --- a/agent/pkg/agent/stream/udp_client.go +++ b/agent/pkg/agent/stream/udp_client.go @@ -7,6 +7,7 @@ import ( "time" "github.com/pion/dtls/v3" + "github.com/yusing/godoxy/agent/pkg/agent/common" ) type UDPClient struct { @@ -43,6 +44,7 @@ func NewUDPClient(serverAddr, targetAddress string, caCert *x509.Certificate, cl RootCAs: caCertPool, InsecureSkipVerify: false, ExtendedMasterSecret: dtls.RequireExtendedMasterSecret, + ServerName: common.CertsDNSName, } raddr, err := net.ResolveUDPAddr("udp", serverAddr)