diff --git a/admin/api/certificate.go b/admin/api/certificate.go index 6d22d299..7b0340f6 100644 --- a/admin/api/certificate.go +++ b/admin/api/certificate.go @@ -135,11 +135,11 @@ func genHtpasswd(ssha bool) (ret string, err error) { hash.Write([]byte(cert.Password)) hash.Write([]byte(salt)) - ret += fmt.Sprintf( - "%s:{SSHA}%s\n", - strings.ToLower(team.Name), - base64.StdEncoding.EncodeToString(append(hash.Sum(nil), salt...)), - ) + passwdline := fmt.Sprintf(":{SSHA}%s\n",base64.StdEncoding.EncodeToString(append(hash.Sum(nil), salt...))) + + ret += strings.ToLower(team.Name) + passwdline + ret += fmt.Sprintf("%0[2]*[1]x", cert.Id, int(math.Ceil(math.Log2(float64(cert.Id))/8)*2)) + passwdline + ret += fmt.Sprintf("%0[2]*[1]X", cert.Id, int(math.Ceil(math.Log2(float64(cert.Id))/8)*2)) + passwdline } else { salt32 := base32.StdEncoding.EncodeToString(salt) ret += fmt.Sprintf(