Skip to content

Commit 3239bc8

Browse files
committed
test(examples): refactor parsePrivateKey to return err
1 parent 78763af commit 3239bc8

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

examples/entraid/clientcert/main.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ func main() {
2828
log.Printf("Failed to load config: %v", err)
2929
}
3030

31+
pk, err := parsePrivateKey(cfg.AzurePrivateKey)
32+
if err != nil {
33+
log.Fatalf("Failed to parse private key: %v", err)
34+
}
35+
3136
// Create a confidential identity credentials provider with certificate authentication
3237
cp, err := entraid.NewConfidentialCredentialsProvider(entraid.ConfidentialCredentialsProviderOptions{
3338
CredentialsProviderOptions: entraid.CredentialsProviderOptions{
@@ -46,7 +51,7 @@ func main() {
4651
},
4752
Scopes: cfg.GetRedisScopes(),
4853
ClientCert: parseCertificates(cfg.AzureCert),
49-
ClientPrivateKey: parsePrivateKey(cfg.AzurePrivateKey),
54+
ClientPrivateKey: pk,
5055
},
5156
})
5257
if err != nil {
@@ -149,23 +154,22 @@ func decodeBase64Pem(pemData string) string {
149154
return string(decoded)
150155
}
151156

152-
func parsePrivateKey(base64data string) *rsa.PrivateKey {
157+
func parsePrivateKey(base64data string) (*rsa.PrivateKey, error) {
153158
var privateKey *rsa.PrivateKey
154-
var err error
155159
decoded := decodeBase64Pem(base64data)
156160
pk, err := x509.ParsePKCS8PrivateKey([]byte(decoded))
157161
if err != nil {
158-
log.Printf("Failed to parse pkcs8 key: %v", err)
162+
return nil, fmt.Errorf("failed to parse pkcs8 key: %w", err)
159163
}
160164
privateKey, _ = pk.(*rsa.PrivateKey)
161165
if privateKey == nil {
162166
pk, err = x509.ParsePKCS1PrivateKey([]byte(decoded))
163167
if err != nil {
164-
log.Printf("Failed to parse pkcs1 key: %v", err)
168+
return nil, fmt.Errorf("failed to parse pkcs1 key: %w", err)
165169
}
166170
privateKey, _ = pk.(*rsa.PrivateKey)
167171
}
168-
return privateKey
172+
return privateKey, nil
169173
}
170174

171175
func parseCertificates(pemData string) []*x509.Certificate {

0 commit comments

Comments
 (0)