网上找到的绝大多数方法都是使用 npiperelay
将 Gpg4win 的 GPG 的 Agent 的 socket 映射到 WSL2 里面,其实更简单的方法是直接在 WSL2 内部使用 gpg.exe
。
如果想要为 Git 签名但是私钥在智能卡里,可以直接设置 git config --global gpg.program gpg.exe
,(如果GPG 不在 Windows 的 PATH 里,需要使用绝对路径,通常为 /mnt/c/Program Files (x86)/GnuPG/bin/gpg.exe
,为了方便最好还是加到 PATH 里面去,加完之后需要打开一个新的终端)。
除非程序需要直接的 GPG Agent 访问或者不支持自定义 GPG 二进制,这个方案都比映射 GPG Agent 的套接字要方便不少。