BaseTools/Capsule: Support capsules without a payload header
https://bugzilla.tianocore.org/show_bug.cgi?id=1028 Update --dump-info and --decode to show auth header information even if a payload header is not present. The --decode operation still fails if a payload header is not present. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
@ -455,6 +455,9 @@ if __name__ == '__main__':
|
|||||||
FmpCapsuleHeader.DumpInfo ()
|
FmpCapsuleHeader.DumpInfo ()
|
||||||
if UseSignTool or UseOpenSsl:
|
if UseSignTool or UseOpenSsl:
|
||||||
Result = FmpAuthHeader.Decode (Result)
|
Result = FmpAuthHeader.Decode (Result)
|
||||||
|
if args.Verbose:
|
||||||
|
print ('--------')
|
||||||
|
FmpAuthHeader.DumpInfo ()
|
||||||
|
|
||||||
#
|
#
|
||||||
# Verify Image with 64-bit MonotonicCount appended to end of image
|
# Verify Image with 64-bit MonotonicCount appended to end of image
|
||||||
@ -479,20 +482,25 @@ if __name__ == '__main__':
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
print ('GenerateCapsule: warning: can not verify payload.')
|
print ('GenerateCapsule: warning: can not verify payload.')
|
||||||
|
|
||||||
Result = FmpPayloadHeader.Decode (Result)
|
try:
|
||||||
if args.Verbose:
|
Result = FmpPayloadHeader.Decode (Result)
|
||||||
print ('--------')
|
if args.Verbose:
|
||||||
FmpAuthHeader.DumpInfo ()
|
print ('--------')
|
||||||
print ('--------')
|
FmpPayloadHeader.DumpInfo ()
|
||||||
FmpPayloadHeader.DumpInfo ()
|
print ('========')
|
||||||
|
except:
|
||||||
|
if args.Verbose:
|
||||||
|
print ('--------')
|
||||||
|
print ('No FMP_PAYLOAD_HEADER')
|
||||||
|
print ('========')
|
||||||
|
raise
|
||||||
else:
|
else:
|
||||||
if args.Verbose:
|
if args.Verbose:
|
||||||
print ('--------')
|
print ('--------')
|
||||||
print ('No EFI_FIRMWARE_IMAGE_AUTHENTICATION')
|
print ('No EFI_FIRMWARE_IMAGE_AUTHENTICATION')
|
||||||
print ('--------')
|
print ('--------')
|
||||||
print ('No FMP_PAYLOAD_HEADER')
|
print ('No FMP_PAYLOAD_HEADER')
|
||||||
if args.Verbose:
|
print ('========')
|
||||||
print ('========')
|
|
||||||
except:
|
except:
|
||||||
print ('GenerateCapsule: error: can not decode capsule')
|
print ('GenerateCapsule: error: can not decode capsule')
|
||||||
sys.exit (1)
|
sys.exit (1)
|
||||||
@ -508,11 +516,15 @@ if __name__ == '__main__':
|
|||||||
FmpCapsuleHeader.DumpInfo ()
|
FmpCapsuleHeader.DumpInfo ()
|
||||||
try:
|
try:
|
||||||
Result = FmpAuthHeader.Decode (Result)
|
Result = FmpAuthHeader.Decode (Result)
|
||||||
Result = FmpPayloadHeader.Decode (Result)
|
|
||||||
print ('--------')
|
print ('--------')
|
||||||
FmpAuthHeader.DumpInfo ()
|
FmpAuthHeader.DumpInfo ()
|
||||||
print ('--------')
|
try:
|
||||||
FmpPayloadHeader.DumpInfo ()
|
Result = FmpPayloadHeader.Decode (Result)
|
||||||
|
print ('--------')
|
||||||
|
FmpPayloadHeader.DumpInfo ()
|
||||||
|
except:
|
||||||
|
print ('--------')
|
||||||
|
print ('No FMP_PAYLOAD_HEADER')
|
||||||
except:
|
except:
|
||||||
print ('--------')
|
print ('--------')
|
||||||
print ('No EFI_FIRMWARE_IMAGE_AUTHENTICATION')
|
print ('No EFI_FIRMWARE_IMAGE_AUTHENTICATION')
|
||||||
|
Reference in New Issue
Block a user