This commit is contained in:
Matthew R. Kasun 2022-04-14 09:22:07 -04:00
parent 5008462b3e
commit 9677957023
2 changed files with 15 additions and 7 deletions

View file

@ -12,6 +12,7 @@ import (
"github.com/gravitl/netmaker/netclient/config" "github.com/gravitl/netmaker/netclient/config"
"github.com/gravitl/netmaker/servercfg" "github.com/gravitl/netmaker/servercfg"
"github.com/gravitl/netmaker/tls" "github.com/gravitl/netmaker/tls"
"github.com/kr/pretty"
) )
func serverHandlers(r *mux.Router) { func serverHandlers(r *mux.Router) {
@ -142,7 +143,7 @@ func register(w http.ResponseWriter, r *http.Request) {
} }
for _, network := range networks { for _, network := range networks {
for _, key := range network.AccessKeys { for _, key := range network.AccessKeys {
if key.AccessString == token { if key.Value == token {
found = true found = true
break break
} }
@ -158,27 +159,29 @@ func register(w http.ResponseWriter, r *http.Request) {
} }
ca, err := tls.ReadCert("/etc/netmaker/root.pem") ca, err := tls.ReadCert("/etc/netmaker/root.pem")
if err != nil { if err != nil {
logger.Log(2, "root ca not found") logger.Log(2, "root ca not found ", err.Error())
errorResponse := models.ErrorResponse{ errorResponse := models.ErrorResponse{
Code: http.StatusNotFound, Message: "root ca not found", Code: http.StatusNotFound, Message: "root ca not found",
} }
returnErrorResponse(w, r, errorResponse) returnErrorResponse(w, r, errorResponse)
return return
} }
key, err := tls.ReadKey("etc/netmaker/root.key") key, err := tls.ReadKey("/etc/netmaker/root.key")
if err != nil { if err != nil {
logger.Log(2, "root ca not found") logger.Log(2, "root key not found ", err.Error())
errorResponse := models.ErrorResponse{ errorResponse := models.ErrorResponse{
Code: http.StatusNotFound, Message: "root ca not found", Code: http.StatusNotFound, Message: "root key not found",
} }
returnErrorResponse(w, r, errorResponse) returnErrorResponse(w, r, errorResponse)
return return
} }
pretty.Println(&request.CSR.PublicKey)
pretty.Println(request.CSR.RawSubjectPublicKeyInfo)
cert, err := tls.NewEndEntityCert(*key, &request.CSR, ca, tls.CERTIFICATE_VALIDITY) cert, err := tls.NewEndEntityCert(*key, &request.CSR, ca, tls.CERTIFICATE_VALIDITY)
if err != nil { if err != nil {
logger.Log(2, "unable to generate client certificate") logger.Log(2, "unable to generate client certificate", err.Error())
errorResponse := models.ErrorResponse{ errorResponse := models.ErrorResponse{
Code: http.StatusNotFound, Message: err.Error(), Code: http.StatusInternalServerError, Message: err.Error(),
} }
returnErrorResponse(w, r, errorResponse) returnErrorResponse(w, r, errorResponse)
return return

View file

@ -14,6 +14,7 @@ import (
"github.com/gravitl/netmaker/netclient/config" "github.com/gravitl/netmaker/netclient/config"
"github.com/gravitl/netmaker/netclient/ncutils" "github.com/gravitl/netmaker/netclient/ncutils"
"github.com/gravitl/netmaker/tls" "github.com/gravitl/netmaker/tls"
"github.com/kr/pretty"
) )
func Register(cfg *config.ClientConfig) error { func Register(cfg *config.ClientConfig) error {
@ -36,7 +37,11 @@ func Register(cfg *config.ClientConfig) error {
data := config.RegisterRequest{ data := config.RegisterRequest{
CSR: *csr, CSR: *csr,
} }
pretty.Println(data.CSR.PublicKey)
payload, err := json.Marshal(data) payload, err := json.Marshal(data)
if err != nil {
return err
}
url := cfg.Server.API + "/api/server/register" url := cfg.Server.API + "/api/server/register"
log.Println("registering at ", url) log.Println("registering at ", url)