town/sshkey/sshkey.go

24 lines
361 B
Go

package sshkey
import (
"bytes"
"errors"
"os/exec"
)
const skgpath = "/usr/bin/ssh-keygen"
func ValidKey(key string) (valid bool, err error) {
cmd := exec.Command(skgpath, "-l", "-f", "-")
cmd.Stdin = bytes.NewBuffer([]byte(key))
err = cmd.Run()
if err == nil {
valid = true
} else if errors.Is(&exec.ExitError{}, err) {
err = nil
}
return
}