24 lines
361 B
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
|
|
}
|