51 lines
946 B
Go
51 lines
946 B
Go
package ca
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"fmt"
|
|
"omc/conf"
|
|
"testing"
|
|
)
|
|
|
|
func TestCa(t *testing.T) {
|
|
// 初始化
|
|
conf.OmcConf.CA.RootCert = "CA/demoCA/cacert.pem"
|
|
Init()
|
|
|
|
//证书验证:
|
|
cert, err := LoadCert("CA/certs/test1.crt")
|
|
if err != nil {
|
|
fmt.Println("LoadCert:", err)
|
|
return
|
|
}
|
|
|
|
err = VerifyCert(cert)
|
|
fmt.Println("VerifyCert:", err)
|
|
|
|
//签名
|
|
fmt.Println("RSA签名认证:")
|
|
pri, err := LoadPriKey("CA/data/test1.key")
|
|
if err != nil {
|
|
fmt.Println("LoadPriKey:", err)
|
|
return
|
|
}
|
|
username := "admin"
|
|
rsaSign, err := SignRSA([]byte(username), pri)
|
|
if err != nil {
|
|
fmt.Println("SignRSA:", err)
|
|
return
|
|
}
|
|
rsaSign64 := base64.StdEncoding.EncodeToString(rsaSign)
|
|
fmt.Println("rsaSign64:", rsaSign64)
|
|
|
|
//签证验证
|
|
cert, err = LoadCert("CA/certs/test1.crt")
|
|
if err != nil {
|
|
fmt.Println("LoadCert:", err)
|
|
return
|
|
}
|
|
err = VerifyRSA([]byte(username), rsaSign, cert)
|
|
fmt.Println("VerifyRSA sign:", err)
|
|
|
|
}
|