Skip to content

Commit

Permalink
[add] migrate cert
Browse files Browse the repository at this point in the history
  • Loading branch information
trheyi committed Feb 2, 2023
1 parent 292fad2 commit 92920d5
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 12 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ COMMIT := $(shell git log | head -n 1 | awk '{print substr($$2, 0, 12)}')
NOW := $(shell date +"%FT%T%z")

# ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
TESTFOLDER := $(shell $(GO) list ./... | grep -E 'api|model|flow|script|fs|i18n|connector|query|plugin' | grep -vE 'examples|tests*|config|widgets')
TESTFOLDER := $(shell $(GO) list ./... | grep -E 'api|model|flow|script|fs|i18n|connector|query|plugin|cert' | grep -vE 'examples|tests*|config|widgets')
TESTTAGS ?= ""

# TESTWIDGETS := $(shell $(GO) list ./widgets/...)
Expand Down
7 changes: 6 additions & 1 deletion cert/cert.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package cert

import (
"path/filepath"

"github.com/yaoapp/gou/application"
"github.com/yaoapp/gou/ssl"
"github.com/yaoapp/yao/config"
Expand All @@ -11,7 +13,10 @@ import (
func Load(cfg config.Config) error {
exts := []string{"*.pem", "*.key", "*.pub"}
return application.App.Walk("certs", func(root, file string, isdir bool) error {
_, err := ssl.Load(file, share.ID(root, file))
if isdir {
return nil
}
_, err := ssl.Load(file, share.ID(root, file)+filepath.Ext(file))
return err
}, exts...)
}
26 changes: 16 additions & 10 deletions cert/cert_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,30 @@ import (
"github.com/yaoapp/gou/process"
"github.com/yaoapp/gou/ssl"
"github.com/yaoapp/yao/config"
"github.com/yaoapp/yao/test"
)

func TestLoad(t *testing.T) {
test.Prepare(t, config.Conf)
defer test.Clean()

Load(config.Conf)
check(t)
}

func check(t *testing.T) {
ids := map[string]bool{}
for id := range ssl.Certificates {
ids[id] = true
}
assert.True(t, ids["cert.pem"])
assert.True(t, ids["cert.key"])
assert.True(t, ids["cert.pub"])
}

func TestProcessSign(t *testing.T) {
Load(config.Conf)
args := []interface{}{"hello world", "private", "SHA256"}
args := []interface{}{"hello world", "cert.key", "SHA256"}
signature, err := process.New("ssl.Sign", args...).Exec()
if err != nil {
t.Fatal(err)
Expand All @@ -27,19 +41,11 @@ func TestProcessSign(t *testing.T) {
func TestProcessVerify(t *testing.T) {
Load(config.Conf)
signature := "EDHf3C9TXEk7y8LzIk5czLefXZyGxcMDVMcbNuBBegDkTqnPsRQnhFtNOgCdox8lI3MzLatwjoljoMY4Qk+sHGd5mAHMpiREa1gRFSVYpA2xvXZ3+KsfOHAdICQrfUdy59QaJGo6iGPNGG8PQOXHPTVNn6LMfryat9+f4l21DPAZiT0RyCUgFZE3/Qv8Z/6J4AsIXMSKZD6BGPPHUxGe7UBrXZvcR5dX25EiNjuH2OO38YJnDiTRVw14UI5fk/mQrwRdezj5tSKFCyHt912BZExXtkHISiYFNTZ/2RhOup5Xx6o3GvrEOdshrnN80Lwu1Aaju+lnZp13hDz4P6hU7w=="
args := []interface{}{"hello world", signature, "cert", "SHA256"}
args := []interface{}{"hello world", signature, "cert.pem", "SHA256"}
res, err := process.New("ssl.Verify", args...).Exec()
if err != nil {
t.Fatal(err)
}

assert.True(t, res.(bool))
}

func check(t *testing.T) {
keys := []string{}
for key := range ssl.Certificates {
keys = append(keys, key)
}
assert.Equal(t, 3, len(keys))
}

0 comments on commit 92920d5

Please sign in to comment.