k3s/vendor/github.com/bronze1man/goStrongswanVici/loadCert.go
Manuel Buil 681058bb40 Add dual-stack support
Signed-off-by: Manuel Buil <mbuil@suse.com>
2021-09-15 11:44:48 +02:00

38 lines
755 B
Go

package goStrongswanVici
import (
"fmt"
)
type certPayload struct {
Typ string `json:"type"` // (X509|X509_AC|X509_CRL)
Flag string `json:"flag"` // (CA|AA|OCSP|NONE)
Data string `json:"data"`
}
func (c *ClientConn) LoadCertificate(s string, typ string, flag string) (err error) {
requestMap := &map[string]interface{}{}
var k = certPayload{
Typ: typ,
Flag: flag,
Data: s,
}
if err = ConvertToGeneral(k, requestMap); err != nil {
return fmt.Errorf("error creating request: %v", err)
}
msg, err := c.Request("load-cert", *requestMap)
if err != nil {
return fmt.Errorf("unsuccessful loadCert: %v", err.Error())
}
if msg["success"] != "yes" {
return fmt.Errorf("unsuccessful loadCert: %v", msg["errmsg"])
}
return nil
}