in certViewer/cmd/web/certificates.go [241:284]
func getKeyUsages(cert *x509.Certificate) []string {
usage := make([]string, 0)
keyUsage := cert.KeyUsage
//calculate included keyUsage from bitmap
//String values taken from OpenSSL
if keyUsage&x509.KeyUsageDigitalSignature != 0 {
usage = append(usage, "Digital Signature")
}
if keyUsage&x509.KeyUsageContentCommitment != 0 {
usage = append(usage, "Non Repudiation")
}
if keyUsage&x509.KeyUsageKeyEncipherment != 0 {
usage = append(usage, "Key Encipherment")
}
if keyUsage&x509.KeyUsageDataEncipherment != 0 {
usage = append(usage, "Data Encipherment")
}
if keyUsage&x509.KeyUsageKeyAgreement != 0 {
usage = append(usage, "Key Agreement")
}
if keyUsage&x509.KeyUsageCertSign != 0 {
usage = append(usage, "Certificate Sign")
}
if keyUsage&x509.KeyUsageCRLSign != 0 {
usage = append(usage, "CRL Sign")
}
if keyUsage&x509.KeyUsageEncipherOnly != 0 {
usage = append(usage, "Encipher Only")
}
if keyUsage&x509.KeyUsageDecipherOnly != 0 {
usage = append(usage, "Decipher Only")
}
return usage
}