package xkeypairs import ( "strconv" "git.rootprojects.org/root/keypairs" ) // ParsePEMPrivateKey will parse a PEM Private Key (or JWK or DER) but in future versions will fail to parse other key input types func ParsePEMPrivateKey(block []byte) (keypairs.PrivateKey, error) { // TODO do not parse DER or JWK return keypairs.ParsePrivateKey(block) } func ParseDuration(exp string) (int, error) { if "" == exp { exp = "15m" } mult := 1 switch exp[len(exp)-1] { case 'w': mult *= 7 fallthrough case 'd': mult *= 24 fallthrough case 'h': mult *= 60 fallthrough case 'm': mult *= 60 fallthrough case 's': // no fallthrough default: // could be 'k' or 'z', but we assume its empty exp += "s" } // 15m => num=15, mult=1*60 num, err := strconv.Atoi(exp[:len(exp)-1]) if nil != err { return 0, err } return num * mult, nil }