나는 이 문서를 따르려고 노력하고 있습니다 (코드 서명 인증서 생성 섹션을 참조하세요.) p12 파일을 암호화하려고 시도했지만 항상 같은 경고가 표시됩니다.
알 수 없는 옵션 'Cert.p12'
내가 뭐 잘못 했어요? 이것이 내가 실행하는 명령입니다
openssl enc -aes-256-cbc -a -salt -k -in "Cert.p12" -out "Cert.p12.encrypted"
답변1
명령에 오류가 있습니다. 이 -k
옵션에는 비밀번호가 필요합니다.
man enc
페이지 에서 :
-k 비밀번호 파생 키에 대한 비밀번호입니다. 이는 이전 버전의 OpenSSL과의 호환성을 위한 것입니다. -pass 매개변수로 대체되었습니다.
보시다시피 해당 옵션이 이 옵션으로 대체되었습니다 -pass
. 따라서 더 나은 대화형 명령은 다음과 같습니다(해당 -k
옵션이 없음에 유의하세요).
openssl enc aes-256-cbc -a -salt -in "Cert.p12" -out "Cert.p12.encrypted"
이 시점에서 비밀번호를 묻는 메시지가 표시됩니다. 스크립트에 비밀번호를 포함해야 하는 경우(위험함) 이 -k
옵션이나 최신 옵션을 사용하세요. 비밀번호를 전달하는 더 안전한 방법에 대해서는 섹션을 읽어 -pass pass:<your password>
보세요 .man openssl
PASS PHRASE ARGUMENTS
이 기능은 제거할 수 있으며 enc
비밀번호를 지정할 때 암시적이며 -salt
기본적으로 활성화되어 있습니다. 따라서 다음을 사용할 수 있습니다.
openssl aes-256-cbc -a -in "Cert.p12" -out "Cert.p12.encrypted"
기본 옵션은 openssl
암호화하는 것이므로 그렇게 하도록 지시할 필요가 없습니다. 그러나 암호를 해독하려면 -d
다음 옵션을 추가해야 합니다 .
openssl aes-256-cbc -d -a -in "Cert.p12.encrypted" -out "Cert.p12.copy"