팝업 창 대신 콘솔에서 암호를 요청하도록 gpg2를 구성하는 방법은 무엇입니까?

팝업 창 대신 콘솔에서 암호를 요청하도록 gpg2를 구성하는 방법은 무엇입니까?

암호 문구를 요청하는 팝업 창을 사용하지 않도록 Gpg4win을 구성하려고 합니다. 나오직명령 프롬프트에서 gpg2를 사용하십시오. 이는 팝업 창이 명령 프롬프트에서 포커스를 빼앗아 나중에 다시 돌려주지 않기 때문에 짜증나고 파괴적이라는 것을 의미합니다.

이것은 Windows 10에 있습니다.

다음 내용으로 gpg-agent.conf 파일을 편집해 보았습니다.

pinentry-program C:\...path-to\pinentry.exe

-w32 또는 유사한 끝이 없는 pinentry.exe가 콘솔에서 사용되기를 바라지만 테스트 파일에 서명하려고 하면 몇 초 동안 그대로 있다가 다음을 출력합니다.

$ gpg2 --sign test.md
gpg: problem with the agent: No pinentry
gpg: no default secret key: Operation cancelled
gpg: signing failed: Operation cancelled

경로 주위에 따옴표를 추가하고 슬래시를 넣어 다음을 모두 시도했습니다.

pinentry-program 'C:\...path-to\pinentry.exe'
pinentry-program C:/...path-to/pinentry.exe
pinentry-program file://C:/...path-to/pinentry.exe

내 gpg.conf 파일에서 use-agent 설정은 이미 주석 처리되어 있습니다. 다양한 웹사이트에서 팁을 찾았지만 이것이 gpg2가 아닌 gpg(1)에 대한 이전 설정인 것으로 의심됩니다.

대신 gpg.conf에 no-use-agent를 추가하려고 시도했는데 다음과 같은 결과가 나왔습니다.

gpg: C:/.../gpg.conf:202: obsolete option "--no-use-agent" - it has no effect

그럼 이것이 전혀 가능합니까?

기본적으로 내가 원하는 것은 다음 명령입니다.

gpg2 --sign test.md

계속하기 전에 동일한 명령 프롬프트 창에서 암호를 묻는 메시지를 표시해야 합니다.

답변1

Gpg4win v3.1.15를 사용했는데 appdata 디렉터리를 기본 홈 디렉터리로 사용하는 것 같습니다. 홈 디렉터리가 다른 경우에는 gpg.conf를 해당 디렉터리에 저장해야 합니다.

내용이 포함된 파일이 아직 없으면 생성합니다 %appdata%\gnupg\gpg.conf.

pinentry-mode loopback

이를 활성화하면 명령줄 프롬프트가 표시됩니다.

또한 이 동일한 설정을 사용하면 핀을 명령줄 옵션 암호 문구(예: gpg --passphrase 12345 --decrypt사용 사례에 따라 안전하지 않음)로 전달할 수 있습니다. 프로그래밍 작업을 수행하는 경우 표준 입력을 입력하는 대신 편리할 수 있습니다.

관련 정보