emacs를 사용하여 .gpg 파일을 해독 할 수 없지만 명령 행 gpg 작동


12

나는이 accounts.org.gpg파일을. gpg를 사용하여 직접 열 수 있습니다.

$ gpg -d ./accounts.org.gpg 

You need a passphrase to unlock the secret key for
user: "Omair Majid <removed@removed>"
4096-bit RSA key, ID 7CC8AAC6, created 2012-01-18 (main key ID 66484681)

gpg: encrypted with 4096-bit RSA key, ID 7CC8AAC6, created 2012-01-18
    "Omair Majid <removed@removed>"
+TITLE: Accounts
<rest of output removed>

그러나 Emacs를 사용하여 동일한 파일을 열 수 없습니다. 이맥스에서 열려고하면 오류가 발생합니다.

epa-file--find-file-not-found-function: Opening input file: Decryption failed, No secret key: E295ECEC7CC8AAC6

이 작업을 수행하기 위해 emacs 측에서 구성해야 할 것이 있습니까?

추가 배경을 위해 이맥스를 다른 컴퓨터에서 (같은 버전의 이맥스를 사용하여) 만들었습니다. 이맥스는이 파일을 잘 읽고 쓸 수 있습니다. 그런 다음 그 내용 ~/.gnupg 을이 머신에 복사했습니다 . 그리고 이제 gpg는 여전히 읽을 수 있지만 Emacs는 읽을 수 없습니다.

편집 : 이것이 gpg1과 gpg2의 차이가 될 수 있습니까?

$ gpg2 --decrypt accounts.org.gpg 
gpg: encrypted with RSA key, ID E295ECEC7CC8AAC6
gpg: decryption failed: No secret key

다른 컴퓨터의 Emacs (동일한 구성, 동일한 버전의 Emacs (25.1) 및 동일한 OS (Fedora 24 x86_64, 동일한 버전의 gpg 및 gpg2 패키지 사용))를 읽고 쓰는 방법 어쨌든

(setq epg-gpg-program "/usr/bin/gpg")

여전히 같은 오류가 발생합니다.


당신은 시도 했습니까 (setq epg-gpg-program "gpg2")?
caisah

나는했다. 기본값이기도합니다. 그리고 작동하지 않습니다. gpg2 명령 줄 프로그램과 달리 나는 이것이 emacs가 아니라 gpg2 자체의 문제라고 생각하기 시작했습니다.
Omair Majid

3
@caisah 버그 # 24229 참조 , setq작동하지 않습니다 epg-gpg-program. 사용자 지정해야합니다.
npostavs

답변:


15

어떤 OS 또는 emacs 버전을 가지고 있지 않습니다.

어제 OSX와 emacs 25.1 에서이 링크의 정보를 사용하여 정확히 동일한 문제를 해결했습니다 : http://colinxy.github.io/software-installation/2016/09/24/emacs25-easypg-issue.html

나는이 명령을 실행했다 :

brew unlink gnupg2 gpg-agent dirmngr
brew uninstall gnupg2 gpg-agent dirmngr
brew install gnupg21
ln -s /usr/local/bin/gpg2 /usr/local/bin/gpg

내 emacs conf 파일에서 pinentry 모드를 설정하십시오.

(setf epa-pinentry-mode 'loopback)

OS 및 Emacs 버전에 대한 편집 내용을 참조하십시오. gpg / gpg2의 시스템 버전을 무시할 계획은 없습니다.
Omair Majid

표준 추출 패키지 gnupg는 한동안 버전 2.1이었습니다. 완전히 호환되지 않는 이전 버전 1.4 및 2.0은 별도의 패키지로 제공됩니다.
Heikki

단지 정보 : Linux에서 비슷한 문제가 있었고이 솔루션으로도 문제가 해결되었습니다.
Manoel Vilela

2
(setf epa-pinentry-mode 'loopback)트릭 을 지적 해 주셔서 감사합니다 .
phs

1
(setf epa-pinentry-mode 'loopback)homebrew의 gpg 2.2.16을 사용하는 Gnu Emacs 26.2에는 .emacs에 줄을 추가하는 것으로 충분했습니다.
Dave X
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.