@@ -59,34 +59,49 @@ contract ZKDCAPVerifierTest is BasicTest {
5959 );
6060 }
6161
62- function testParseCommit () public view {
63- bytes memory commit =
64- hex"00000003000000000500906ed50000a1acc73eb45794fa1734f14d882e91925b6006f79d3bb2460df9d01b333d700900000000679885950000000067c00a9c15150b07ff800e000000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000700000000000000813c146e403f203f2784fa222b3edeac70727dee21c0b08f74883aa189e7b0ed000000000000000000000000000000000000000000000000000000000000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017dcf7408c72ebe9076aebbb208d2c85e62050db4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000e494e54454c2d53412d3030333334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e494e54454c2d53412d3030363135000000000000000000000000000000000000";
65- DCAPValidator.Output memory output = DCAPValidatorTestHelper.parseCommit (commit );
62+ function testParseOutputSWHardeningNeeded () public pure {
63+ bytes memory outputBytes =
64+ hex"0000000300000000050000001200906ed50000a1acc73eb45794fa1734f14d882e91925b6006f79d3bb2460df9d01b333d70090000000067b3f1fa0000000067db736115150b07ff800e00000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000070000000000000026ae825ffce1cf9dcdf682614f4d36704e7bca087bbb5264aca9301d7824cec8000000000000000000000000000000000000000000000000000000000000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c170f98628b3a01b15654fbfaad1aaf3419b2c3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000e494e54454c2d53412d3030333334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e494e54454c2d53412d3030363135000000000000000000000000000000000000";
65+ DCAPValidator.Output memory output = DCAPValidatorTestHelper.parseOutput (outputBytes );
6666 assertEq (
6767 output.sgxIntelRootCAHash, bytes32 (hex "a1acc73eb45794fa1734f14d882e91925b6006f79d3bb2460df9d01b333d7009 " )
6868 );
6969 assertTrue (output.tcbStatus == DCAPValidator.TCB_STATUS_SW_HARDENING_NEEDED);
7070 assertFalse (output.enclaveDebugEnabled);
71- assertEq (output.mrenclave, bytes32 (hex "813c146e403f203f2784fa222b3edeac70727dee21c0b08f74883aa189e7b0ed " ));
72- assertEq (output.enclaveKey, address (bytes20 (hex "7dcf7408c72ebe9076aebbb208d2c85e62050db4 " )));
71+ assertEq (output.mrenclave, bytes32 (hex "26ae825ffce1cf9dcdf682614f4d36704e7bca087bbb5264aca9301d7824cec8 " ));
72+ assertEq (output.enclaveKey, address (bytes20 (hex "c170f98628b3a01b15654fbfaad1aaf3419b2c3c " )));
7373 assertEq (output.operator, address (0 ));
7474 assertEq (output.advisoryIDs.length , 2 );
7575 assertEq (output.advisoryIDs[0 ], "INTEL-SA-00334 " );
7676 assertEq (output.advisoryIDs[1 ], "INTEL-SA-00615 " );
7777 }
7878
79- function testParseCommitEnclaveDebugEnabled () public view {
80- bytes memory commit =
81- hex"00000003000000000500906ed50000a1acc73eb45794fa1734f14d882e91925b6006f79d3bb2460df9d01b333d700900000000679afeb70000000067c2831415150b07ff800e000000000000000000000000000000000000000000000000000000000000000000000000000000000007000000000000000700000000000000813c146e403f203f2784fa222b3edeac70727dee21c0b08f74883aa189e7b0ed000000000000000000000000000000000000000000000000000000000000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017c10dd734cac9a4588b7886b2a4820cba182907d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000e494e54454c2d53412d3030333334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e494e54454c2d53412d3030363135000000000000000000000000000000000000";
82- DCAPValidator.Output memory output = DCAPValidatorTestHelper.parseCommit (commit);
79+ function testParseOutputSimulationUpToDate () public pure {
80+ bytes memory outputBytes =
81+ hex"0000000300000000000000000000606a000000d61f4e3d30011899d16131d4c940ef1f75ec53d7f9a70cbb3aab1f5ab0235b2b000000000000000100000000ffffffff4820f3376ae6b2f2034d3b7a4b48a7780000000000000000000000000000000000000000000000000000000000000000070000000000000007000000000000003a354bf808b89267b19c6b390ee484d1bee8d301d0058fac511a900d5d0a6f68000000000000000000000000000000000000000000000000000000000000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019c69756b02dd84ad5d7a11758025ae4a7edf938d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000";
82+ DCAPValidator.Output memory output = DCAPValidatorTestHelper.parseOutput (outputBytes);
83+ assertEq (
84+ output.sgxIntelRootCAHash, bytes32 (hex "d61f4e3d30011899d16131d4c940ef1f75ec53d7f9a70cbb3aab1f5ab0235b2b " )
85+ );
86+ assertTrue (output.tcbStatus == DCAPValidator.TCB_STATUS_UP_TO_DATE);
87+ assertTrue (output.enclaveDebugEnabled);
88+ assertEq (output.mrenclave, bytes32 (hex "3a354bf808b89267b19c6b390ee484d1bee8d301d0058fac511a900d5d0a6f68 " ));
89+ assertEq (output.enclaveKey, address (bytes20 (hex "9c69756b02dd84ad5d7a11758025ae4a7edf938d " )));
90+ assertEq (output.operator, address (0 ));
91+ assertEq (output.advisoryIDs.length , 0 );
92+ }
93+
94+ function testParseCommitEnclaveDebugEnabled () public pure {
95+ bytes memory outputBytes =
96+ hex"0000000300000000050000001200906ed50000a1acc73eb45794fa1734f14d882e91925b6006f79d3bb2460df9d01b333d70090000000067b42fdd0000000067dbb9ea15150b07ff800e00000000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000070000000000000026ae825ffce1cf9dcdf682614f4d36704e7bca087bbb5264aca9301d7824cec8000000000000000000000000000000000000000000000000000000000000000083d719e77deaca1470f6baf62a4d774303c899db69020f9c70ee1dfc08c7ce9e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001988143c0a5645a38c7900b3102859d136f3bcc2c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000e494e54454c2d53412d3030333334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e494e54454c2d53412d3030363135000000000000000000000000000000000000";
97+ DCAPValidator.Output memory output = DCAPValidatorTestHelper.parseOutput (outputBytes);
8398 assertEq (
8499 output.sgxIntelRootCAHash, bytes32 (hex "a1acc73eb45794fa1734f14d882e91925b6006f79d3bb2460df9d01b333d7009 " )
85100 );
86101 assertTrue (output.tcbStatus == DCAPValidator.TCB_STATUS_SW_HARDENING_NEEDED);
87102 assertTrue (output.enclaveDebugEnabled);
88- assertEq (output.mrenclave, bytes32 (hex "813c146e403f203f2784fa222b3edeac70727dee21c0b08f74883aa189e7b0ed " ));
89- assertEq (output.enclaveKey, address (bytes20 (hex "7c10dd734cac9a4588b7886b2a4820cba182907d " )));
103+ assertEq (output.mrenclave, bytes32 (hex "26ae825ffce1cf9dcdf682614f4d36704e7bca087bbb5264aca9301d7824cec8 " ));
104+ assertEq (output.enclaveKey, address (bytes20 (hex "988143c0a5645a38c7900b3102859d136f3bcc2c " )));
90105 assertEq (output.operator, address (0 ));
91106 assertEq (output.advisoryIDs.length , 2 );
92107 assertEq (output.advisoryIDs[0 ], "INTEL-SA-00334 " );
@@ -95,7 +110,7 @@ contract ZKDCAPVerifierTest is BasicTest {
95110}
96111
97112library DCAPValidatorTestHelper {
98- function parseCommit (bytes calldata commit ) public pure returns (DCAPValidator.Output memory ) {
99- return DCAPValidator.parseCommit (commit );
113+ function parseOutput (bytes calldata outputBytes ) public pure returns (DCAPValidator.Output memory ) {
114+ return DCAPValidator.parseOutput (outputBytes );
100115 }
101116}
0 commit comments