Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
cmd/pinentry-test/ | H | 07-Nov-2021 | - | 59 | 52 | |
LICENSE | H A D | 07-Nov-2021 | 1.1 KiB | 22 | 17 | |
README.md | H A D | 07-Nov-2021 | 859 | 42 | 32 | |
gnupg.go | H A D | 07-Nov-2021 | 973 | 48 | 36 | |
go.mod | H A D | 07-Nov-2021 | 167 | 11 | 7 | |
go.sum | H A D | 07-Nov-2021 | 4.3 KiB | 47 | 46 | |
pinentry.go | H A D | 07-Nov-2021 | 10.8 KiB | 463 | 344 |
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