diff options
author | Tao Bao <tbao@google.com> | 2016-04-23 01:36:50 +0200 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-04-23 01:36:50 +0200 |
commit | 34ca0892f4ae440becbe8097e7b68cd5a6d494d3 (patch) | |
tree | 27bcbef3bfc08254e4cbe5214d1b5fff3f5e25b0 /verifier.cpp | |
parent | Go back to the old ear-wiggling Android animation. (diff) | |
parent | recovery: Dump the signature in the zip package. (diff) | |
download | android_bootable_recovery-34ca0892f4ae440becbe8097e7b68cd5a6d494d3.tar android_bootable_recovery-34ca0892f4ae440becbe8097e7b68cd5a6d494d3.tar.gz android_bootable_recovery-34ca0892f4ae440becbe8097e7b68cd5a6d494d3.tar.bz2 android_bootable_recovery-34ca0892f4ae440becbe8097e7b68cd5a6d494d3.tar.lz android_bootable_recovery-34ca0892f4ae440becbe8097e7b68cd5a6d494d3.tar.xz android_bootable_recovery-34ca0892f4ae440becbe8097e7b68cd5a6d494d3.tar.zst android_bootable_recovery-34ca0892f4ae440becbe8097e7b68cd5a6d494d3.zip |
Diffstat (limited to 'verifier.cpp')
-rw-r--r-- | verifier.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/verifier.cpp b/verifier.cpp index f5299b4a2..16cc7cf03 100644 --- a/verifier.cpp +++ b/verifier.cpp @@ -27,6 +27,7 @@ #include "asn1_decoder.h" #include "common.h" +#include "print_sha1.h" #include "ui.h" #include "verifier.h" @@ -230,9 +231,14 @@ int verify_file(unsigned char* addr, size_t length, uint8_t* sig_der = nullptr; size_t sig_der_length = 0; + uint8_t* signature = eocd + eocd_size - signature_start; size_t signature_size = signature_start - FOOTER_SIZE; - if (!read_pkcs7(eocd + eocd_size - signature_start, signature_size, &sig_der, - &sig_der_length)) { + + LOGI("signature (offset: 0x%zx, length: %zu): %s\n", + length - signature_start, signature_size, + print_hex(signature, signature_size).c_str()); + + if (!read_pkcs7(signature, signature_size, &sig_der, &sig_der_length)) { LOGE("Could not find signature DER block\n"); return VERIFY_FAILURE; } @@ -287,6 +293,13 @@ int verify_file(unsigned char* addr, size_t length, } i++; } + + if (need_sha1) { + LOGI("SHA-1 digest: %s\n", print_hex(sha1, SHA_DIGEST_LENGTH).c_str()); + } + if (need_sha256) { + LOGI("SHA-256 digest: %s\n", print_hex(sha256, SHA256_DIGEST_LENGTH).c_str()); + } free(sig_der); LOGE("failed to verify whole-file signature\n"); return VERIFY_FAILURE; |