GNUPG-PKCS11-SCD-PROXY(1)

✨ NAME ✨

okay bestie, say hi to gnupg-pkcs11-scd-proxy β€” a GnuPG-compatible smart-card proxy daemon πŸ’– β€” and its partner in crime gnupg-pkcs11-scd-proxy-server, the GnuPG-compatible smart-card proxy server πŸ¦‹ β€” plus, you know, daemon energy overall. this is page gnupg-pkcs11-scd-proxy(1) from the LOCAL manual, and it's giving infrastructure πŸ’…


🌸 SYNOPSIS 🌸

gnupg-pkcs11-scd-proxy [--multi-server] [--socket file] [--verbose]
                       [--log-file file] [--help]
gnupg-pkcs11-scd-proxy-server [--socket file] [--socket-group group]
                       [--scd file] [--scd-config file] [--verbose]
                       [--log-file file] [--help]

like yes, those are two whole binaries and yes you're gonna want to know both 🫢


πŸ‘‘ DESCRIPTION πŸ‘‘

so here's the tea β˜• β€” gnupg-pkcs11-scd-proxy is a drop-in replacement for the smart-card daemon (scd) that ships with next-generation GnuPG (gnupg-2). no cap. it just slides right in where scd used to be.

this daemon is literally a proxy into gnupg-pkcs11-scd-proxy-server, which you can run inside a different security context so it can load the gnupg-pkcs11-scd smart-card daemon πŸ”₯ security-context separation is the moment, honestly.

the way that the proxy and the server talk to each other? unix socket based, periodt. the assuan socket gets created world readable but with a specific user ACL, so only the user who initiated it can actually connect to the daemon. bestie-proof πŸ”’

the recommended version of gnupg is 2.1 β€” because in that version the gnupg-pkcs11-scd configuration doesn't specify any specific key information, which means it can be used as generic for all users 🌈 iconic behavior, truly.

the following options are available: πŸ‘‡


πŸ’… OPTIONS πŸ’…

  • --multi-server β€” run in multi-server mode (foreground, main character energy ✨). on top of talking over stdin/stdout, the server also opens an additional listening UNIX socket. two channels, one queen πŸ‘‘
  • --socket file β€” the socket name. the default should be sufficient, don't stress it πŸ’–
  • --socket-group group β€” a custom group to set for the proxy server socket. this may serve as a first level of access control πŸ›‘οΈ so like, lowkey important.
  • --scd file β€” where the smartcard daemon lives. again, the default should be sufficient 🌸
  • --scd-config file β€” the smartcard daemon configuration. this one is a required parameter 🚨 not optional, not negotiable, it's mandatory bestie.
  • --verbose β€” be verbose while running. yap away, we're listening πŸ‘‚
  • --no-detach β€” do not detach from the console (super useful for debugging purposes πŸ›)
  • --log-file file β€” output log to file πŸ“
  • --help β€” print help information 🫢
and whenever the daemon catches any of the SIGHUP, SIGTERM and SIGINT signals, it cleans up and exits. graceful exit, no mess left behind, we love a clean girlie πŸ’–

πŸ¦‹ SEE ALSO πŸ¦‹


shoutout to the legends who built this πŸ™Œ

  • Copyright (c) 2006-2007 Zeljko Vrba <zvrba@globalnet.hr>
  • Copyright (c) 2006-2017 Alon Bar-Lev <alon.barlev@gmail.com>

All rights reserved.

and now the serious part, because legal text is legal text and we do not play with it πŸ™ˆ β€”

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

and that's the whole page, bestie 🫢 this one's from the POSIX-compatible crew, dated October 15, 2017, and it's filed under gnupg-pkcs11-scd-proxy(1). go forth and proxy responsibly, mwah πŸ’‹πŸ’–βœ¨