• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cmd/pinentry-test/H07-Nov-2021-5952

LICENSEH A D07-Nov-20211.1 KiB2217

README.mdH A D07-Nov-2021859 4232

gnupg.goH A D07-Nov-2021973 4836

go.modH A D07-Nov-2021167 117

go.sumH A D07-Nov-20214.3 KiB4746

pinentry.goH A D07-Nov-202110.8 KiB463344

README.md

1# go-pinentry
2
3[![PkgGoDev](https://pkg.go.dev/badge/github.com/twpayne/go-pinentry)](https://pkg.go.dev/github.com/twpayne/go-pinentry)
4
5Package `pinentry` provides a client to [GnuPG's
6pinentry](https://www.gnupg.org/related_software/pinentry/index.html).
7
8## Key Features
9
10* Support for all `pinentry` features.
11* Idiomatic Go API.
12
13## Example
14
15```go
16	client, err := pinentry.NewClient(
17		pinentry.WithDesc("My description"),
18		pinentry.WithGPGTTY(),
19		pinentry.WithPrompt("My prompt:"),
20        pinentry.WithTitle("My title")
21	)
22	if err != nil {
23		return err
24	}
25    defer client.Close()
26
27	switch pin, fromCache, err := client.GetPIN(); {
28	case pinentry.IsCancelled(err):
29		fmt.Println("Cancelled")
30	case err != nil:
31		return err
32	case fromCache:
33		fmt.Printf("PIN: %s (from cache)\n", pin)
34	default:
35		fmt.Printf("PIN: %s\n", pin)
36	}
37```
38
39## License
40
41MIT
42