아래 명령을 사용하여 문자열을 파일로 암호화하고 있지만 "gpg --encrypt need input"이라는 오류 메시지와 함께 항상 실패합니다.
gpg.exe --batch --passphrase-fd 0 --armor --sign --recipient [email protected] --homedir "c:\gnupg" --encrypt 1 > "test.gpg"
어떤 아이디어가 있나요?
답변1
GnuPG는 항상 파일이나 STDIN으로부터의 입력을 기대합니다. 문자열을 STDIN에 전달하려면 ECHO
Windows 시스템 또는 echo
Unix 시스템에서 사용하고 다음으로 파이프하십시오 gpg
.
ECHO 1 | gpg [other options] --encrypt
echo 1 | gpg [other options] --encrypt
파일 설명자 0(STDIN)에서 암호 문구를 이미 예상하고 있으므로 다음 중 하나를 수행해야 합니다.
- 다른 위치에서 서명할 암호 및 데이터를 제공하세요.
- 개행 문자로 구분된 두 문자열 모두에 파이프를 추가합니다. 유닉스 시스템에서는
sh
/를 사용하면 쉽지만 ( )bash
echo -e "passphrase\ndata" | gpg --sign --encrypt
Windows에서는 다소 해킹적인 솔루션이 필요합니다.(저는 Windows 명령 프롬프트에 익숙하지 않지만 단일ECHO
명령으로 솔루션 중 하나를 선택해야 할 것입니다.)