2011-09-19 7 views
1

나는 암호문/비밀 키를 명령 줄에 전달하여 파일을 어떻게 해독 할 수 있는지 알고 싶습니다.PHP를 사용하여 명령에 "gpg passphrase"를 전달하여 암호화 된 파일의 암호를 해독하는 방법은 무엇입니까?

나는 이것을 사용해 보았지만 여전히 패스 프레이즈를 입력하라는 메시지를 표시했다.

echo shell_exec ("echo $ passphrase | gpg --passphrase-fd 0 -o $ unencrypted_file -d $ encrypted_file");

제 목표는 파일을 자동으로 해독 할 수있는 PHP 프로그램을 만드는 것입니다.

답변

2

당신은 아마 대신 내가 GPG 개발자는 것을 방지하기 위해 사용 된 접근 모르는 GPG

0
gpg --passphrase-file $file 

남자 GPG는 말한다 : "파일 파일에서 암호를 읽기 전용 첫 번째 줄은 파일 파일에서 읽을 수 있습니다 하나의 암호가 공급되는 경우에만 분명히 사용할 수 있습니다... , 파일에 저장된 암호는 다른 사용자가이 파일을 읽을 수 있다면 의심 스러울 수 있습니다. 피할 수 있으면이 옵션을 사용하지 마십시오. "

+0

약간 더 안전한 변형은 gpg-agent의 캐시 기간을 우스꽝스러운 것으로 설정하는 것입니다 (예 : 한 달 이상, 초 단위로 설정해야 함). 그런 다음 패스 프레이즈를 매월 입력하거나) 플러스 각 재부팅. gpg-agent와 pinentry는 패스 프레이즈가 정상적으로 수행 할 때 암호문을 보호합니다 (무인 시스템이 RAM 공격에 취약 해 비밀 키 데이터를 해독 할 수는 있지만). – Ben