BaseTools: Update sign tool to make MonotonicCount *after* Payload
The WIN_CERTIFICATE_UEFI_GUID AuthInfo defined in the UEFI spec mentioned that It is a signature across the image data and the Monotonic Count value. After clarification, we do the signature calculation, we put MonotonicCount after Payload. Cc: Liming Gao <liming.gao@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Tested-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
@ -197,8 +197,8 @@ if __name__ == '__main__':
|
||||
print 'ERROR: test other public cert file %s missing' % (args.OtherPublicCertFileName)
|
||||
sys.exit(1)
|
||||
|
||||
format = "Q%ds" % len(args.InputFileBuffer)
|
||||
FullInputFileBuffer = struct.pack(format,args.MonotonicCountValue, args.InputFileBuffer)
|
||||
format = "%dsQ" % len(args.InputFileBuffer)
|
||||
FullInputFileBuffer = struct.pack(format, args.InputFileBuffer, args.MonotonicCountValue)
|
||||
|
||||
#
|
||||
# Sign the input file using the specified private key and capture signature from STDOUT
|
||||
@ -261,8 +261,8 @@ if __name__ == '__main__':
|
||||
args.SignatureBuffer = args.InputFileBuffer[0:SignatureSize]
|
||||
args.InputFileBuffer = args.InputFileBuffer[SignatureSize:]
|
||||
|
||||
format = "Q%ds" % len(args.InputFileBuffer)
|
||||
FullInputFileBuffer = struct.pack(format,args.MonotonicCountValue, args.InputFileBuffer)
|
||||
format = "%dsQ" % len(args.InputFileBuffer)
|
||||
FullInputFileBuffer = struct.pack(format, args.InputFileBuffer, args.MonotonicCountValue)
|
||||
|
||||
#
|
||||
# Save output file contents from input file
|
||||
|
Reference in New Issue
Block a user