in pkg/plugin/keyvault.go [313:331]
func getKeyIDHash(vaultURL, keyName, keyVersion string) (string, error) {
if vaultURL == "" || keyName == "" || keyVersion == "" {
return "", fmt.Errorf("vault url, key name and key version cannot be empty")
}
baseURL, err := url.Parse(vaultURL)
if err != nil {
return "", fmt.Errorf("failed to parse vault url, error: %w", err)
}
urlPath := path.Join("keys", keyName, keyVersion)
keyID := baseURL.ResolveReference(
&url.URL{
Path: urlPath,
},
).String()
return fmt.Sprintf("%x", sha256.Sum256([]byte(keyID))), nil
}