goproxy/utils/cert/cert_test.go
2018-06-27 11:30:28 +08:00

72 lines
1.3 KiB
Go

package cert
import (
"os"
"testing"
)
func TestCaGen(t *testing.T) {
err := CreateCaToFile("ca", "test", 365)
if err != nil {
t.Fatal(err)
return
}
ca, key, err := ParseCertAndKey("ca.crt", "ca.key")
if err != nil {
t.Fatal(err)
return
}
if ca.Subject.Organization[0] != "test" {
t.Fatalf("Organization %s not match test", ca.Subject.Organization[0])
return
}
err = key.Validate()
if err != nil {
t.Fatal(err)
return
}
os.Remove("ca.crt")
os.Remove("ca.key")
}
func TestSign(t *testing.T) {
err := CreateCaToFile("ca", "test", 365)
if err != nil {
t.Fatal(err)
return
}
ca, key, err := ParseCertAndKey("ca.crt", "ca.key")
if err != nil {
t.Fatal(err)
return
}
err = CreateCaToFile("ca", "test", 365)
if err != nil {
t.Fatal(err)
return
}
err = CreateSignCertToFile(ca, key, "server.com", 365, "server")
if err != nil {
t.Fatal(err)
return
}
servercrt, serverkey, err := ParseCertAndKey("server.crt", "server.key")
if err != nil {
t.Fatal(err)
return
}
if servercrt.Subject.CommonName != "server.com" {
t.Fatalf("CommonName %s not match server.com", ca.Subject.CommonName)
return
}
err = serverkey.Validate()
if err != nil {
t.Fatal(err)
return
}
os.Remove("ca.crt")
os.Remove("ca.key")
os.Remove("server.crt")
os.Remove("server.key")
}