package credentiallease import ( "bytes" "encoding/base64" "errors" "os" "path/filepath" "runtime" "testing" ) func TestLoadPrivateKeyFile(t *testing.T) { want := bytes.Repeat([]byte{0x5a}, 32) path := filepath.Join(t.TempDir(), "recipient.key") if err := os.WriteFile(path, []byte(base64.StdEncoding.EncodeToString(want)), 0o600); err != nil { t.Fatal(err) } secureTestKeyFile(t, path) got, err := LoadPrivateKeyFile(path, len(want)) if err != nil { t.Fatalf("LoadPrivateKeyFile() error = %v", err) } if !bytes.Equal(got, want) { t.Fatal("LoadPrivateKeyFile() returned unexpected key material") } } func TestLoadPrivateKeyFileRejectsInsecureUnixMode(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("Windows private-key access is validated from the file DACL") } path := filepath.Join(t.TempDir(), "recipient.key") encoded := base64.StdEncoding.EncodeToString(bytes.Repeat([]byte{0x5a}, 32)) if err := os.WriteFile(path, []byte(encoded), 0o644); err != nil { t.Fatal(err) } _, err := LoadPrivateKeyFile(path, 32) if !errors.Is(err, ErrKey) { t.Fatalf("LoadPrivateKeyFile() error = %v, want ErrKey", err) } }