답변:
잘못된 프로그램을 사용하고 있다고 생각합니다. S / MIME 프로토콜을pgpsm
사용하여 서명, 확인, 암호화 또는 암호 해독에 사용됩니다 .
나는이없는 pgp4win
반면에, 그러나에 따라 man 페이지 ,이 공개 및 비밀 키를 내 보내야합니다 :
gpg -o XXXXXXX_private.p12 --export [key id] --export-format pkcs12 --cert
에 대한 정보 pkcs12
는 다음과 같습니다.
pkcs12
이진 블록 만 출력됩니다. 기본 파일 확장자는 .p12입니다. 서명 된 키가 쌍을 이루어야합니다. 입력은 정확히 하나의 키와 일치해야합니다. 이 경우 --cert가 필요합니다.
그래서 --cert
그 옵션에 대한 반영없이 옵션을 포함 시켰습니다 .
--cert
서명 키를 사용할 수있는 경우이 옵션은 X.509 발급자 긴 이름 또는 32 비트 또는 64 비트 키 ID입니다.
나는 더 많은 테스트 (현재 gpg4win 사용)를 수행했으며 부분적으로 나 자신과 모순되어야합니다. gpgsm
gpg4win 의 도구는 다음과 같이 설명합니다.
gpgsm은 gpg와 유사한 도구로 X.509 인증서 및 CMS 프로토콜에서 디지털 암호화 및 서명 서비스를 제공합니다. 주로 S / MIME 메일 처리를위한 백엔드로 사용됩니다.
실제로 올바른 소리입니다.
따라서 질문에 게시 된 귀하의 명령은 완전히 합리적인 것으로 보입니다. 단지 두 가지 단서 만 있습니다.
-a
옵션을 통해 ASCII 기갑 출력을 사용하려고 할 수 있습니다
--p12-charset name
gpgsm은 PKCS # 12 파일의 암호를 인코딩 할 때 UTF-8 인코딩을 사용 합니다. 이 옵션을 사용하면 암호를 지정된 인코딩 이름으로 강제로 인코딩 할 수 있습니다. 키를 가져 오는 데 사용 된 응용 프로그램에서 다른 인코딩을 사용하여 gpgsm에서 생성 된 파일을 가져올 수없는 경우에 유용합니다. name에 일반적으로 사용되는 값은 Latin1 및 CP850 입니다. gpgsm 자체는 가장 일반적으로 사용되는 인코딩으로 인코딩 된 암호가있는 파일을 자동으로 가져옵니다.