OpenSSL dgst를 사용하여 전체 파일 대신 파일의 해시를 사용하여 확인할 수 있습니까?

OpenSSL dgst를 사용하여 전체 파일 대신 파일의 해시를 사용하여 확인할 수 있습니까?

확인문서전자 서명,OpenSSL 대상필요:

  • 공개 키(발신자로부터)
  • 서명(발신자로부터)
  • 파일(원래 보낸 사람이 수정하지 않았는지 확인하기 위해)

예:

openssl dgst -sha256 -verify publicKey.pem -signature senderSig.der WholeFile.txt

그것 파일의 SHA256 다시 계산그런 다음 이를 암호화된 디지털 서명 해시와 비교하여 확인합니다.

그러나 SHA256을 "직접" 수행하거나 외부에서 SHA256을 수행 dgst하고 값을 전달하려고 합니다.파일 대신.

그것은 다음과 같습니다:

openssl dgst -publicKey.pem 확인 -senderSig.der 서명 -theFiles256Hash SHA256ofWholeFile.txt

보고 있다명령 매개변수, 가능한 것 같지만 올바른 조합을 찾을 수 없습니다.

가능합니까?

이것이 가능하지 않은 경우 dgst다른 OpenSSL 유틸리티를 사용하여 여러 단계로 나눌 수 있습니까?

(ECDSA 사용)

답변1

이는 ECDSA에 관한 것이기 때문에 OP의 질문에 대한 답변은 아니지만 RSA를 사용하는 사람들에게는 이것이 도움이 될 수 있습니다.

dgst유틸리티를 사용하여 해시를 직접 확인할 수는 없습니다 . pkeyutl유틸리티를 사용해야 합니다 .

openssl pkeyutl -in hash.bin -inkey pubkey.pem -pubin -verify -sigfile signature.bin -pkeyopt digest:sha256

대부분의 매개변수는 직접 기록됩니다.OpenSSL

관련 정보