in pkg/common/utils/certificate/secret.go [35:69]
func BuildCAFromSecret(s *corev1.Secret) *CA {
if s.Data == nil {
return nil
}
caBytes, ok := s.Data[TLsCertName]
if !ok || len(caBytes) == 0 {
klog.Infof("certificate buildCAFromSecret secret %s have not tls.crt.", s.Name)
return nil
}
pkBytes, ok := s.Data[TlsKeyName]
if !ok || len(pkBytes) == 0 {
klog.Infof("certificate buildCAFromSecret secret %s have not tls.key.", s.Name)
return nil
}
//suppose caBytes have one certificate
cert, err := parsePemCert(caBytes)
if err != nil {
klog.Errorf("certificate buildCAFromSecret secret %s parse PemCert error %s.", s.Name, err.Error())
return nil
}
pk, err := parsePrivateKey(pkBytes)
if err != nil {
klog.Errorf("certificate buildCAFromSecret secret %s parse privateKey error %s.", s.Name, err.Error())
return nil
}
return &CA{
Certificate: cert,
cert: pkBytes,
PrivateKey: pk,
privateKey: pkBytes,
}
}