나는 그들 사이에 데이터를 전달할 2개의 서버를 가지고 있습니다. 하나는 Ubuntu이고 다른 하나는 Red Hat입니다. 각각에 이미 설치된 버전을 사용하면 Ubuntu는 gnuPG 1.4.x가 포함된 12.04이고 Red Hat은 gnuPG 2.0.x가 포함된 Enterprise 6.1이므로 Ubuntu에서 Red Hat으로 이동하는 암호를 해독할 수 없습니다.
저는 Ubuntu 서버에서 gnuPG 확장을 사용하여 PHP를 암호화/해독할 것입니다. Red Hat 서버는 CGI 스크립트의 쉘을 통해 gnuPG에 액세스합니다.
Red Hat에서 공개/개인 키를 생성하고 공개 키를 내보냈습니다. 우분투로 가져와서 서명했습니다. 그런 다음 Ubuntu에서 파일을 암호화하고 Red Hat 서버에 복사한 다음 암호 해독을 시도했습니다.
이런 반응이 나오네요
gpg -d tocyn.gpg
gpg: no valid OpenPGP data found.
gpg: decrypt_message failed: Unknown system error
이 응답이 무엇을 의미하는지에 대한 많은 정보를 찾을 수 없었기 때문에 어디로 가야할지 잘 모르겠습니다. 2개의 서로 다른 버전 간에는 이 작업을 수행할 수 없나요? 제가 착각한 것일 수도 있지만, 거의 똑같다고 생각했습니다.
답변1
GnuPG 2.0.x와 1.4.x의 최신 버전은 모두 완벽하게 호환됩니다. 이는 문제가 되지 않습니다. 데이터가 올바르게 전송되었는지 확인하십시오(예: 체크섬 사용).
어쨌든: Ubuntu와 같은 데비안 파생물은 GnuPG 1과 2를 모두 설치합니다. 여기서 gpg
GnuPG 1.4.x와 gpg2
GnuPG 2.0.x는 설치됩니다.
GnuPG 2의 매뉴얼 페이지에서:
gpg2
GNU Privacy Guard(GnuPG/MacGPG2)의 OpenPGP 부분입니다. OpenPGP 표준을 사용하여 디지털 암호화 및 서명 서비스를 제공하는 도구입니다.gpg2
완벽한 키 관리 기능과 괜찮은 OpenPGP 구현에서 기대할 수 있는 모든 기능을 갖추고 있습니다.서버 및 임베디드 플랫폼에 더 적합한 독립 실행형 버전과 달리
gpg
이 버전은 일반적으로 이름으로 설치되며gpg2
여러 다른 모듈을 설치해야 하므로 데스크탑에 더 적합합니다. 독립 실행형 버전은 유지 관리되며 동일한 시스템에 두 버전을 모두 설치할 수 있습니다. 다른 구성 파일을 사용해야 하는 경우 gpg.conf'와 같은 파일을 사용해야 합니다gpg.conf-2' instead of just
.