33 lines
642 B
Go
33 lines
642 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
|
||
|
"srs.epita.fr/fic-server/libfic"
|
||
|
)
|
||
|
|
||
|
func CertificateAPI(team fic.Team, args []string) (interface{}, error) {
|
||
|
if len(args) == 1 {
|
||
|
if args[0] == "generate" {
|
||
|
return team.GenerateCert(), nil
|
||
|
} else if args[0] == "revoke" {
|
||
|
return team.RevokeCert(), nil
|
||
|
} else {
|
||
|
return nil, nil
|
||
|
}
|
||
|
} else if fd, err := os.Open("../PKI/pkcs/" + team.Name + ".p12"); err == nil {
|
||
|
return ioutil.ReadAll(fd)
|
||
|
} else {
|
||
|
return nil, err
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var ApiCARouting = map[string]DispatchFunction{
|
||
|
"GET": genCA,
|
||
|
}
|
||
|
|
||
|
func genCA(args []string, body []byte) (interface{}, error) {
|
||
|
return fic.GenerateCA(), nil
|
||
|
}
|