2012-05-30 5 views
0

나는 python-gnupg를 사용하여 파일을 암호화하고 있으며 encrypt_file 만 sign 매개 변수의 단일 키를 허용합니다. 문서를 암호화 할 키가 여러 개인 키 파일이있는 경우 어떻게해야합니까? 내가 올바르게 이해하면 여러 개의 키를 사용하여 파일을 암호화 할 수 있어야합니다.여러 키를 사용하여 python-gnupg 파일 암호화

+0

정확히 당신은 gpg에서 돌아 오기를 목표로하고 있습니까? 임의의 키로 해독 할 수있는 단일 출력 문서를 원하십니까? 아니면 여러 개의 개별 출력을 원하십니까? 하나는 각 키에 암호화되어 있습니다 (또는 모든 키를 해독해야하는 단일 문서라고 가정). – Blckknght

답변

0

python-gnupg 문서를 읽은 후에 다시 질문을 읽었을 때 암호화하는 동시에 여러 개의 개인 키가있는 문서에 서명하는 방법을 묻는 것 같습니다.

GnuPG가 파이썬 gnupg를 지원하지 않기 때문에 불행히도이 프로세스는 python-gnupg에서 지원하지 않습니다. 서명을 얼마나 정확하게 적용 할 것인지 결정한 다음 한 번에 하나씩 서명해야합니다.

예를 들어 서명을 레이어링하고 하나의 키로 암호화 및 서명 한 다음 다른 개인 키로 결과에 서명하고 두 번째 이후의 추가 키에 대해 반복하여 서명 할 수 있습니다.

또는 기본 문서만으로 (서명이 다른 서명에 적용되지 않도록) 여러 개의 "분리 된"서명을 만들 수 있습니다. 한 번에 여러 개의 분리 된 서명을 확인하기 위해 GnuPG에서 자동으로 인식 할 파일 형식이 있는지 확신 할 수 없기 때문에 좀 더 복잡합니다.

0

python-gnupg에서 encrypt_file은 실제로받는 사람에 대한 목록 (설명서는이를 배열로 참조 함)을받습니다. 이 작업을해야합니다 : 그것은 꽤 원유는 점에서의

import gnupg 

gpg_home = "~/.gnupg" 
gpg = gnupg.GPG(gnupghome=gpg_home) 

data = raw_input("Enter full path of file to encrypt: ") 
rkeys = raw_input("Enter key IDs separated by spaces: ") 
savefile = data+".asc" 

afile = open(data, "rb") 
gpg.encrypt_file(afile, rkeys.split(), always_trust=True, output=savefile) 
afile.close() 

는 일반 텍스트와 같은 디렉토리에 암호문을 작성합니다,하지만 작동합니다. rkeys.split() 옵션에 주목하십시오. 스페이스 키로 구분 된 키 ID 또는 UID 문자열을 파이썬리스트로 바꾸는 것입니다.

관련 문제