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>
print 'ERROR: test other public cert file %s missing' % (args.OtherPublicCertFileName)\r
sys.exit(1)\r
\r
print 'ERROR: test other public cert file %s missing' % (args.OtherPublicCertFileName)\r
sys.exit(1)\r
\r
- format = "Q%ds" % len(args.InputFileBuffer)\r
- FullInputFileBuffer = struct.pack(format,args.MonotonicCountValue, args.InputFileBuffer)\r
+ format = "%dsQ" % len(args.InputFileBuffer)\r
+ FullInputFileBuffer = struct.pack(format, args.InputFileBuffer, args.MonotonicCountValue)\r
\r
#\r
# Sign the input file using the specified private key and capture signature from STDOUT\r
\r
#\r
# Sign the input file using the specified private key and capture signature from STDOUT\r
args.SignatureBuffer = args.InputFileBuffer[0:SignatureSize]\r
args.InputFileBuffer = args.InputFileBuffer[SignatureSize:]\r
\r
args.SignatureBuffer = args.InputFileBuffer[0:SignatureSize]\r
args.InputFileBuffer = args.InputFileBuffer[SignatureSize:]\r
\r
- format = "Q%ds" % len(args.InputFileBuffer)\r
- FullInputFileBuffer = struct.pack(format,args.MonotonicCountValue, args.InputFileBuffer)\r
+ format = "%dsQ" % len(args.InputFileBuffer)\r
+ FullInputFileBuffer = struct.pack(format, args.InputFileBuffer, args.MonotonicCountValue)\r
\r
#\r
# Save output file contents from input file\r
\r
#\r
# Save output file contents from input file\r
if args.Encode:\r
FullInputFileBuffer = args.InputFileBuffer\r
if args.MonotonicCountStr:\r
if args.Encode:\r
FullInputFileBuffer = args.InputFileBuffer\r
if args.MonotonicCountStr:\r
- format = "Q%ds" % len(args.InputFileBuffer)\r
- FullInputFileBuffer = struct.pack(format,args.MonotonicCountValue, args.InputFileBuffer)\r
+ format = "%dsQ" % len(args.InputFileBuffer)\r
+ FullInputFileBuffer = struct.pack(format, args.InputFileBuffer, args.MonotonicCountValue)\r
# \r
# Sign the input file using the specified private key and capture signature from STDOUT\r
#\r
# \r
# Sign the input file using the specified private key and capture signature from STDOUT\r
#\r
\r
FullInputFileBuffer = args.InputFileBuffer\r
if args.MonotonicCountStr:\r
\r
FullInputFileBuffer = args.InputFileBuffer\r
if args.MonotonicCountStr:\r
- format = "Q%ds" % len(args.InputFileBuffer)\r
- FullInputFileBuffer = struct.pack(format,args.MonotonicCountValue, args.InputFileBuffer)\r
+ format = "%dsQ" % len(args.InputFileBuffer)\r
+ FullInputFileBuffer = struct.pack(format, args.InputFileBuffer, args.MonotonicCountValue)\r
\r
#\r
# Write Signature to output file\r
\r
#\r
# Write Signature to output file\r