Windows에서 GPG 파일을 해독하기 위해 개인 / 비밀 ASC 키를 내보내는 방법
배경 : 상사가 공개 및 비공개 부분을 사용하여 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의 치료법보기
http://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의 정신으로 "그리고 그게되어야한다".
I think you had not yet import the private key as the message error said, To import public/private key from gnupg:
gpg --import mypub_key
gpg --allow-secret-key-import --import myprv_key
this ended up working for me:
gpg -a --export-secret-keys > exportedKeyFilename.asc
you can name keyfilename.asc by any name as long as you keep on the .asc extension.
this command copies all secret-keys on a user's computer to keyfilename.asc in the working directory of where the command was called.
To Export just 1 specific secret key instead of all of them:
gpg -a --export-secret-keys keyIDNumber > exportedKeyFilename.asc
keyIDNumber is the number of the key id for the desired key you are trying to export.
Similar to @Wolfram J's answer, here is a method to encrypt your private key with a passphrase:
gpg --output - --armor --export $KEYID | \
gpg --output private_key.asc --armor --symmetric --cipher-algo AES256
And a corresponding method to decrypt:
gpg private_key.asc
1.Export a Secret Key (this is what your boss should have done for you)
gpg --export-secret-keys yourKeyName > privateKey.asc
2.Import Secret Key (import your privateKey)
gpg --import privateKey.asc
3.Not done yet, you still need to ultimately trust a key. You will need to make sure that you also ultimately trust a key.
gpg --edit-key yourKeyName
Enter trust, 5, y, and then quit
Source: https://medium.com/@GalarnykMichael/public-key-asymmetric-cryptography-using-gpg-5a8d914c9bca
'Development Tip' 카테고리의 다른 글
Solarized를 사용하는 iTerm2의 vim에서 잘못된 색상 (0) | 2020.09.25 |
---|---|
VS2017 / VS 2019 작업 표시 줄에서 관리자 권한으로 실행 (0) | 2020.09.25 |
ZSH iterm2 increase number of lines history (0) | 2020.09.25 |
How to check if a column exists in a datatable (0) | 2020.09.25 |
How to get the current url name using Django? (0) | 2020.09.25 |