[encryption] 개인 / 비밀 ASC 키를 내보내 GPG 파일을 해독하는 방법

배경 : 상사가 공개 및 비공개 부분을 사용하여 ASC 키를 나에게 내보내려고 시도했지만 파일을 가져올 때마다 비공개 부분이로드되지 않으며 파일을 해독하지 않습니다.

다음을 사용하여 ASC 키 내보내기를 시도했습니다.

  • Windows 응용 프로그램 Kleopatra 2.1 (gpg4win에 포함됨)
  • Windows Application GNU Privacy Assistant (gpg4win에 포함됨)

            Error: "Decryption failed. Secret Key Not available."
    

gpg 파일을 해독하기 위해 비밀 또는 개인 asc 키를 올바르게 내보내는 방법은 무엇입니까?



답변

GPG에서 명령 줄 도구를 사용하여 개인 키를 내보낼 수 있습니다 . Windows-shell에서 작동합니다. 다음 명령을 사용하십시오.

gpg --export-secret-keys

로 일반 내보내기 --export에는 개인 키가 포함되지 않으므로을 사용해야 --export-secret-keys합니다.

편집하다:

내 의견에 제공된 정보를 요약하면 ID가 1234ABCD 인 특정 키를 secret.asc 파일로 내보낼 수있는 명령입니다.

gpg --export-secret-keys --armor 1234ABCD > secret.asc

다음 명령을 사용하여 필요한 ID를 찾을 수 있습니다. ID는 두 번째 열의 두 번째 부분입니다.

gpg --list-keys

모두가 아닌 하나의 특정 비밀 키만 내보내려면 :

gpg --export-secret-keys keyIDNumber > exportedKeyFilename.asc

keyIDNumber는 내보내려는 원하는 키의 키 ID 번호입니다.


답변

위의 모든 응답이 정확하지만 중요한 단계가 누락되었을 수 있습니다. 가져온 키를 편집하고 해당 키를 “궁극적으로 신뢰”해야합니다.

gpg --edit-key (keyIDNumber)
gpg> trust

Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

가져온 개인 키를 키 중 하나로 활성화하려면 5를 선택하십시오.


답변

Dark Otter의 치료법보기

https://montemazuma.wordpress.com/2010/03/01/moving-a-gpg-key-privately/

사이트가 다운되면 archive.org 백업을 참조하십시오.

https://web.archive.org/web/20170518155052/https://montemazuma.wordpress.com/2010/03/01/moving-a-gpg-key-privately/

여기에는 합리적으로 안전한 키 전송 방법이 포함됩니다. 반복적으로 사용할 수 있도록 권장 사항을 아래에 표시된 셸 스크립트에 넣을 수 있습니다.

먼저 표시된 목록에서 원하는 KEYID를 가져옵니다.

$ gpg -K

결과 목록에서 전송에 필요한 KEYID (초 이후 8 개의 16 진수)를 기록합니다.

그런 다음 첫 번째 계정에서 테스트 된 셸 scipts “export_private_key”를 호출하고 pubkey.gpg + keys.asc를 생성합니다. 이어서 두 번째 계정 “import_private_key”에서 호출합니다. 다음은 cat으로 표시된 콘텐츠입니다 (콘텐츠 복사 및 붙여 넣기).

$ cat export_private_key
gpg -K
echo "select private key"
read KEYID
gpg --output pubkey.gpg --export $KEYID
echo REMEMBER THE COMING PASS-PHRASE
gpg --output - --export-secret-key $KEYID | \
   cat pubkey.gpg - | \
   gpg --armor --output keys.asc --symmetric --cipher-algo AES256
ls -l pubkey.gpg keys.asc
####################  E X P O R T _ P R I V A T E _ K E Y  #####################

이제 “pubkey.gpg”(필요한 경우)와 개인 “keys.asc”를 두 번째 계정으로 전송하고 아래 표시된 프로그램을 호출합니다.

$ cat import_private_key
gpg --no-use-agent --output - keys.asc | gpg --import
###################  I M P O R T _ P R I V A T E _ K E Y  ######################

Otter의 정신으로 “그리고 그게되어야한다”.


답변

메시지 오류가 말했듯이 아직 개인 키를 가져 오지 않았다고 생각합니다. gnupg에서 공개 / 개인 키를 가져 오려면 :

gpg --import mypub_key
gpg --allow-secret-key-import --import myprv_key


답변

이것은 나를 위해 일했습니다.

   gpg -a --export-secret-keys > exportedKeyFilename.asc

.asc 확장자를 유지하는 한 모든 이름으로 keyfilename.asc의 이름을 지정할 수 있습니다.
이 명령은 사용자 컴퓨터의 모든 비밀 키를 명령이 호출 된 작업 디렉토리의 keyfilename.asc에 복사합니다.

모두가 아닌 하나의 특정 비밀 키만 내보내려면 :

   gpg -a --export-secret-keys keyIDNumber > exportedKeyFilename.asc

keyIDNumber는 내보내려는 원하는 키의 키 ID 번호입니다.


답변

@Wolfram J의 답변과 마찬가지로 다음은 암호로 개인 키를 암호화하는 방법입니다 .

gpg --output - --armor --export $KEYID | \
    gpg --output private_key.asc --armor --symmetric --cipher-algo AES256

그리고 해독에 해당하는 방법 :

gpg private_key.asc


답변

1. 비밀 키 내보내기 (상사가 당신을 위해 한 일입니다)

gpg --export-secret-keys yourKeyName > privateKey.asc

2. Secret Key 가져 오기 (privateKey 가져 오기)

gpg --import privateKey.asc

3 아직 완료되지 않았더라도 궁극적으로 키를 신뢰해야합니다. 궁극적으로 키를 신뢰하는지 확인해야합니다.

gpg --edit-key yourKeyName

trust, 5, y를 입력 한 다음 종료

출처 : https://medium.com/@GalarnykMichael/public-key-asymmetric-cryptography-using-gpg-5a8d914c9bca