server, service: added running as effective user

This commit is contained in:
2026-03-25 16:53:13 +02:00
parent 1f5b4a71f1
commit 5e7b1f312d
16 changed files with 361 additions and 144 deletions
+37
View File
@@ -0,0 +1,37 @@
package network
import (
"crypto/tls"
"net"
)
const protocol = "tcp"
func CreateTLSListener(addrinfo string, x509cert, x509key []byte) (net.Listener, error) {
var listen net.Listener
var err error
tlsCert, err := tls.X509KeyPair(x509cert, x509key)
if err != nil {
return listen, err
}
tlsConfig := tls.Config{
Certificates: []tls.Certificate{tlsCert},
ClientAuth: tls.NoClientCert,
InsecureSkipVerify: true,
}
listen, err = tls.Listen(protocol, addrinfo, &tlsConfig)
if err != nil {
return listen, err
}
return listen, err
}
func CreateListener(addrinfo string) (net.Listener, error) {
var listen net.Listener
var err error
listen, err = net.Listen(protocol, addrinfo)
if err != nil {
return listen, err
}
return listen, err
}
+2 -2
View File
@@ -11,7 +11,7 @@ import (
"time"
)
func CreateX509SelfSignedCert(subject string, hostnames ...string) ([]byte, []byte, error) {
func CreateCertKey(subject string, hostnames ...string) ([]byte, []byte, error) {
var err error
certPem := make([]byte, 0)
@@ -72,7 +72,7 @@ func CreateX509SelfSignedCert(subject string, hostnames ...string) ([]byte, []by
return certPem, keyPem, err
}
func CreateX509CACert(commonName string) ([]byte, []byte, error) {
func CreateCACert(commonName string) ([]byte, []byte, error) {
var err error
certPem := make([]byte, 0)
keyPem := make([]byte, 0)
+7 -13
View File
@@ -10,22 +10,16 @@ import (
)
func TestCert(t *testing.T) {
{
//caCert, caKey, err := CreateX509SelfSignedCert("test1")
//require.NoError(t, err)
//fmt.Println(string(caCert))
//fmt.Println(string(caKey))
}
{
caCert, caKey, err := CreateX509CACert("test1")
caCert, caKey, err := CreateCertKey("test1")
require.NoError(t, err)
fmt.Println(string(caCert))
fmt.Println(string(caKey))
}
{
caCert, caKey, err := CreateCACert("test1")
require.NoError(t, err)
fmt.Println(string(caCert))
fmt.Println(string(caKey))
// caCert, caKey, err = CreateX509Cert("test1", caKey)
// require.NoError(t, err)
// fmt.Println(string(caCert))
// fmt.Println(string(caKey))
}
}