Skip to content

Commit

Permalink
Added test data and test functionality to test confidential borg for …
Browse files Browse the repository at this point in the history
…verification

Change-Id: Id045e64d71600288ffce24fc333490c6b5860f5f
  • Loading branch information
fattaneh88 committed Aug 1, 2024
1 parent 228dfd5 commit b97b04f
Show file tree
Hide file tree
Showing 9 changed files with 126 additions and 0 deletions.
3 changes: 3 additions & 0 deletions oak_attestation_verification/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ _INT_TEST_DATA = [
"//oak_attestation_verification/data:ark_milan.pem",
"//oak_attestation_verification/data:ask_genoa.pem",
"//oak_attestation_verification/data:ask_milan.pem",
"//oak_attestation_verification/testdata:cb_evidence.binarypb",
"//oak_attestation_verification/testdata:cb_endorsement.binarypb",
"//oak_attestation_verification/testdata:cb_reference_values.binarypb",
"//oak_attestation_verification/testdata:endorsement.json",
"//oak_attestation_verification/testdata:endorsement.json.sig",
"//oak_attestation_verification/testdata:fake_evidence.binarypb",
Expand Down
3 changes: 3 additions & 0 deletions oak_attestation_verification/testdata/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ package(
)

exports_files([
"cb_evidence.binarypb",
"cb_endorsement.binarypb",
"cb_reference_values.binarypb",
"endorsement.json",
"endorsement.json.sig",
"fake_evidence.binarypb",
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cb {
root_layer {
tee_certificate: "0\202\005M0\202\002\374\240\003\002\001\002\002\001\0000F\006\t*\206H\206\367\r\001\001\n09\240\0170\r\006\t`\206H\001e\003\004\002\002\005\000\241\0340\032\006\t*\206H\206\367\r\001\001\0100\r\006\t`\206H\001e\003\004\002\002\005\000\242\003\002\0010\243\003\002\001\0010{1\0240\022\006\003U\004\013\014\013Engineering1\0130\t\006\003U\004\006\023\002US1\0240\022\006\003U\004\007\014\013Santa Clara1\0130\t\006\003U\004\010\014\002CA1\0370\035\006\003U\004\n\014\026Advanced Micro Devices1\0220\020\006\003U\004\003\014\tSEV-Milan0\036\027\r240520175435Z\027\r310520175435Z0z1\0240\022\006\003U\004\013\014\013Engineering1\0130\t\006\003U\004\006\023\002US1\0240\022\006\003U\004\007\014\013Santa Clara1\0130\t\006\003U\004\010\014\002CA1\0370\035\006\003U\004\n\014\026Advanced Micro Devices1\0210\017\006\003U\004\003\014\010SEV-VCEK0v0\020\006\007*\206H\316=\002\001\006\005+\201\004\000\"\003b\000\004\227\037\275\201\221\2406\350t\244\265j|#\306EIx\255C\3672\317\373\333-H\336\200\262\352ZP\2560\376\347\333r\274W\371\222\272l\220\226\361\004\277G\024\205\354&\3328\266\372r\314v\374\\\230,$\034\023j\272\243\367\004| &\375-\230\030N2\342_\217H1\331G\000\235\347\005=\227\243\202\001\0270\202\001\0230\020\006\t+\006\001\004\001\234x\001\001\004\003\002\001\0000\027\006\t+\006\001\004\001\234x\001\002\004\n\026\010Milan-B00\021\006\n+\006\001\004\001\234x\001\003\001\004\003\002\001\0030\021\006\n+\006\001\004\001\234x\001\003\002\004\003\002\001\0000\021\006\n+\006\001\004\001\234x\001\003\004\004\003\002\001\0000\021\006\n+\006\001\004\001\234x\001\003\005\004\003\002\001\0000\021\006\n+\006\001\004\001\234x\001\003\006\004\003\002\001\0000\021\006\n+\006\001\004\001\234x\001\003\007\004\003\002\001\0000\021\006\n+\006\001\004\001\234x\001\003\003\004\003\002\001\0240\022\006\n+\006\001\004\001\234x\001\003\010\004\004\002\002\000\3210M\006\t+\006\001\004\001\234x\001\004\004@\312ndo\373\252eKk\037\'\313\274\301\273\000\256\352a\270\260O\005\367;p\360\267\3555\345\267\375\223c\216$Z\343\257\261\207\241A\306\324\001\251\371C\257<\320\366a\004\211\256\360TD\243W\3630F\006\t*\206H\206\367\r\001\001\n09\240\0170\r\006\t`\206H\001e\003\004\002\002\005\000\241\0340\032\006\t*\206H\206\367\r\001\001\0100\r\006\t`\206H\001e\003\004\002\002\005\000\242\003\002\0010\243\003\002\001\001\003\202\002\001\000f\223TY\373\322\006\251\305\337X\202;J\323\036\210\320\240\317d\323\304VkM\314\335\327#\351\024N7\334\261\302\357l\231\026\006\226\000\335\230\341\\\266\321\353\213\031\2041\246\016W\376\207xq4\234\232\273\350\371\"\350\205tp\271\003\250\032\t\260\332\327\330\000\361\311|\316\223\221\254\010\350\262\220t\361\336\262>\245;\275\233\216\312!s*@n\025h b\314\276\202\266\356]|\221\304G/\330\216\023x\313>A\234\344\333\t\213\0070/\337I\023\003\' \316\241\333\341Br\334\250\304\226#\3241\020\037\236\177\022\252:D\r\035\361[\274\017e\232y\316r\032\204\304R\025\031\237S,ph\177\231\006\237 \214Y\257\346\327T\021\372\323\r\022\364\335\007\246\234:\210\017a\004\2309\271~e\205+\274\360\227\211>\347\212\266\204\337\354\r\235\334\321\377\273Dy\240,T\252S \035Y\324\312b\327\256\371m\247\240\037\314\263h\265\264\223\312\\p\374d\256\2744\336]\004T\276\340A\030\016\316\377\352\257\313\003\360\304\362\366\301\250}A\250\306\375\302\027!i\007>)\277\016\335\273>x}\005\333h[\026\236.\362\245\254{!\271\354~\350\025\027\357H\271\332\264\024\356 \247\326\217\364\022\350\231\346\356\361\275}\271\213\257\371#\376fm\361\322n\034x\\\360\024\2666\317\010d\351\344&\334T\343*\310\213\216\307i\204\303&\025\324g\212\032\210}X\256\003-\0135\370\254&n\351\024\347:3\250\351\247\357I;\207\231v\t\357\252o\200\306\n8\342\307\266>\004P\246\005\203\201\351\370m\262>\226\364\244\343\\\211\313\370OZ\364\361%1#\001\0244\211\2610\273\335\322\247\007\257:%\000F\264P\',\252\277\331\277.\016v|d\242\034Z\304e\202\006V\206(\252\254\207\252\246\217\350\224s\224>G~/vd-"
}
}
Binary file not shown.
23 changes: 23 additions & 0 deletions oak_attestation_verification/testdata/cb_evidence.textproto
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# proto-file: proto/attestation/evidence.proto
# proto-message: oak.attestaton.v1.Evidence
#
# Attestation evidence generated Generated on July 25 2024.
# `cb_evidence.binarypb` is the same instance in serialized binary format.
root_layer {
platform: AMD_SEV_SNP
remote_attestation_report: "\002\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000\000\000\024\321\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\2171\022\223\036\226\303\236\215\016D\375\262\355\364J-k\321dl\363T\242\200<\200\274\272V\300]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006sE\363\244~p\010~\366\002HR\204Vo\037\352\177>\222\343ytj_\303o?\017\260\2179i\240\014a\036>\270\222t\205b\347`\365\333\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\340o\340\023\323a\363\037\351\217\'\247)\021\235\302bJ\374\025\334\320\353\274m\307\2370\202P,Q\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\003\000\000\000\000\000\024\321\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312ndo\373\252eKk\037\'\313\274\301\273\000\256\352a\270\260O\005\367;p\360\267\3555\345\267\375\223c\216$Z\343\257\261\207\241A\306\324\001\251\371C\257<\320\366a\004\211\256\360TD\243W\363\003\000\000\000\000\000\024\321\0207\001\000\0207\001\000\003\000\000\000\000\000\024\321\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\327W\333\341z\244\033\332y\223\241}\245D\322\014\211\377\312\315^\274SO\274w\265wQ\\l\007NI\311UJ\363\320S\016\025p\006\017\r\360i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\204\361\267\315\361s\331Z\353\274\262\213u\'\331\276`D\353Edfl,\320\2572\303\347\216 \304\000pl\203\251cK\2059\275\23520\203\364\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
eca_public_key: "\247\001\002\002T\350\274\325\020O\366\230\030;\031\262\020\322\2236\027\317\305\246\371\003&\004\201\002 \001!X m\353C\303\34550\347\177T\334\021\253\217<\233\272X?\307\346\007T<\362fs\204\210I~\364\"X \247\003\233\304\355q\261\\];7\307\037\001F\213\024G\370\266\017\005oK\006\230\341cN\262(\367"
}
layers {
eca_certificate: "\204C\241\001&\241\004RAsymmetricECDSA256Y\003\025\246\001x(e8bcd5104ff698183b19b210d2933617cfc5a6f9\002x(decf36c1156eaaedf55bebcf5d1ed2c40a0298f6:\000GDWXf\247\001\002\002T\336\3176\301\025n\252\355\365[\353\317]\036\322\304\n\002\230\366\003&\004\201\002 \001!X \242\250kv\255Kh\330#\034/\0357>\276\370\372\253T\375oV\031\366\205G\"\325\364\2442\344\"X \363\374\315\035pd\370s\356E8)5^\364P\231C2\222j\017+\264\033\313\260\"\247\265\203\014:\000GDXB \000:\000GDZ\247:\000GD`\241:\000GDkX B\034\032\234XJ\2400B\200;\364=\0371\254\013\273Sh\307\037]u:\321\023\327\375\002\'\247:\000GDa\241:\000GDkX \251\357\243\362\375\016?\323\275\310\216d\274\031\361\322\206}\373\204\347p(\243ZR:w$B\314x:\000GDly\001\000TZ=PST8PDT gsw=0 netdump.address=off loglevel=8 earlycon=uart,io,0x3F8 console=ttyS0 swiotlb=262144 rdinit=/bbin/init -- -host_port=45585 -ready_msg=\"ready\" -guest_port=17011 -channel=\"tcp;fd14:988a:50ee:10d::;fd14:988a:50ee:10d::1\" -diorite_vf=\"\" -oak-di:\000GDb\241:\000GDkX !\004xF[|j\265\014\r\217\206\244\233\274\022bN\273\005\'\270\016\037!+\236w.\006\307*:\000GDc\241:\000GDkX \206\"(\006\224dni+SF(:,\017R?\230U\254\233\244`\331\032!\035-St\342\252:\000GDd\241:\000GDkX \246\365\'\303\317\224\374\314\326\266\242\007\350\0271\307\367\224\212D\3013\323\016By\004*jp\2105:\000GDe\241:\000GDkX s\255m\342%\215Dd\034\024ZT\265\365\352\"\007\355\332\245\343<\026\305\223Um_\346\251\356\301:\000GDl\241:\000GDkX dCm\177w\243\rE\312\206\336\235w\227\352<&\300\353\2175q\221\"6u\357\253}\265y\321X@\366\366xVD\361\r\t\322\205\235\212\253J\003\375\317\273I%7\"{\305\276\036>\317\350\203A9\021\233\'\334\235j\340iuZ]\301\223\004\320\227\255\323xvL\220\377\001\370?\246(D\n\263\202"
}
layers {
eca_certificate: "\204C\241\001&\241\004RAsymmetricECDSA256X\343\245\001x(decf36c1156eaaedf55bebcf5d1ed2c40a0298f6\002x(9c1489d1be7f93ed9c409072c0fa10ff2576b2fd:\000GDWXP\246\001\002\003&\004\201\002 \001!X \246\351\276YO\323\351\373\334\303-\017\253W\336\rJ\200\267\304\374W\010\003\372\226\005\227F\347\277\277\"X \310\205\235\t\260\261f[\200\264\376\205\302\215\026\007\200\200&uzxQ~c\312\310\324d\27704:\000GDXB \000:\000GDl\241:\000GDkX (\027\207iGV?>`\241\350\204\035W\220\346[#\251\037\316\370\227\264\235?\270(\363#\260eX@\255\027\210\325\027\003\304@\362\226$\234W\357?\3534BU\374\212\200\010\230\005\201B\213\205G\270\327\334\205\302P!\356\024\323\234\216\253\324A\370\372MT\3363\210\257G:S;\207\351\032\231\007\307\276"
}
layers {
eca_certificate: "\204C\241\001&\241\004RAsymmetricECDSA256X\343\245\001x(9c1489d1be7f93ed9c409072c0fa10ff2576b2fd\002x(448625aed78f1e0ddd99b88ecbe4f634317b8842:\000GDWXP\246\001\002\003&\004\201\002 \001!X \202\323\224\252\373RR\247\005-p\230\254\013\262\004\236\236\372\377\244\352\353\016\263\t\232sJY>d\"X ^m\345\023#\014\021\2023\r.j\352\022\242\310\017\023\377\353\321\2754\260\332\t\266fu\312\351o:\000GDXB \000:\000GDl\241:\000GDkX \035\3773\222\262[}\332\237QZ\030\242\205\2751\332\376\tz\nK\334\363\337jH\202?\270^%X@2\270\232_b\254D\236\355\245\320\243\370yPT\212P\310\262\251\345\224\032\030J^\314\275\265\347&\0338\205x\024\337\334\222\276\027\301\361\316\241(\343\026l\375@\243\376H\320g\n\221\376\350\250\271{"
}
application_keys {
encryption_public_key_certificate: "\204C\241\001&\241\004RAsymmetricECDSA256X\253\242\001x(448625aed78f1e0ddd99b88ecbe4f634317b8842:\000GDmXx\010\277\307\330\240\001\022p\nd\n4type.googleapis.com/google.crypto.tink.HpkePublicKey\022*\032 \031`e\246s)\007\317\243\004\230\222\232\266V\225\013\320\251\351R\377\372NF\273V\337\177{\261K\022\006\030\001\020\001\010\001\030\003\020\001\030\277\307\330\240\001 \001X@\"-\221>\014Sw\317\343\0277gmr\315\353\250\031\241Fy\275\335\213\305\037\327TJ\211X\316\002\361:\2251,\004A>yI5Nt\333\270\347\037\200\220\036s]\221\305\270\307\000\'\244\320@"
signing_public_key_certificate: "\204C\241\001&\241\004RAsymmetricECDSA256X\251\242\001x(448625aed78f1e0ddd99b88ecbe4f634317b8842:\000GDmXv\010\312\344\337U\022o\nd\n4type.googleapis.com/google.crypto.tink.HpkePublicKey\022*\032 M\356\317\2100\207So\360p\370\240V\366\325\3413B\362f\352\0248\236\246\344\337s\360d\214\n\022\006\030\001\020\001\010\001\030\003\020\001\030\312\344\337U \001X@\220Q\317\213\014\371\2345\025\273\230\301\272x\355\271\303\252\250\013\n\264;\242rU-\335\375w\212_m\366\202\310\013DJ\'g\344<\203] _\314\254\301\0045_3\213UN\264:\211E\224\225`"
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
cb {
root_layer {
amd_sev {
stage0 {
skip {
}
}
min_tcb_version {
boot_loader: 3
snp: 20
microcode: 209
}
}
}
kernel_layer {
event {
digests {
digests {
sha2_256: "dCm\177w\243\rE\312\206\336\235w\227\352<&\300\353\2175q\221\"6u\357\253}\265y\321"
}
}
}
}
system_layer {
event {
digests {
digests {
sha2_256: "(\027\207iGV?>`\241\350\204\035W\220\346[#\251\037\316\370\227\264\235?\270(\363#\260e"
}
}
}
}
application_layer {
event {
digests {
digests {
sha2_256: "\035\3773\222\262[}\332\237QZ\030\242\205\2751\332\376\tz\nK\334\363\337jH\202?\270^%"
}
}
}
}
}
50 changes: 50 additions & 0 deletions oak_attestation_verification/tests/verifier_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,13 @@ const REKOR_PUBLIC_KEY_PATH: &str = "oak_attestation_verification/testdata/rekor
#[cfg(feature = "bazel")]
const CONTAINERS_EVIDENCE_PATH: &str = "oak_attestation_verification/testdata/oc_evidence.binarypb";
#[cfg(feature = "bazel")]
const CB_EVIDENCE_PATH: &str = "oak_attestation_verification/testdata/cb_evidence.binarypb";
#[cfg(feature = "bazel")]
const CB_ENDORSEMENT_PATH: &str = "oak_attestation_verification/testdata/cb_endorsement.binarypb";
#[cfg(feature = "bazel")]
const CB_REFERENCE_VALUES_PATH: &str =
"oak_attestation_verification/testdata/cb_reference_values.binarypb";
#[cfg(feature = "bazel")]
const RK_EVIDENCE_PATH: &str = "oak_attestation_verification/testdata/rk_evidence.binarypb";
#[cfg(feature = "bazel")]
const RK_OBSOLETE_EVIDENCE_PATH: &str =
Expand Down Expand Up @@ -96,6 +103,12 @@ const REKOR_PUBLIC_KEY_PATH: &str = "testdata/rekor_public_key.pem";
#[cfg(not(feature = "bazel"))]
const CONTAINERS_EVIDENCE_PATH: &str = "testdata/oc_evidence.binarypb";
#[cfg(not(feature = "bazel"))]
const CB_EVIDENCE_PATH: &str = "testdata/cb_evidence.binarypb";
#[cfg(not(feature = "bazel"))]
const CB_ENDORSEMENT_PATH: &str = "testdata/cb_endorsement.binarypb";
#[cfg(not(feature = "bazel"))]
const CB_REFERENCE_VALUES_PATH: &str = "testdata/cb_reference_values.binarypb";
#[cfg(not(feature = "bazel"))]
const RK_EVIDENCE_PATH: &str = "testdata/rk_evidence.binarypb";
#[cfg(not(feature = "bazel"))]
const RK_OBSOLETE_EVIDENCE_PATH: &str = "testdata/rk_evidence_20240312.binarypb";
Expand All @@ -115,6 +128,27 @@ const FAKE_EXPECTED_VALUES_PATH: &str = "testdata/fake_expected_values.binarypb"
// Pretend the tests run at this time: 1 Nov 2023, 9:00 UTC
const NOW_UTC_MILLIS: i64 = 1698829200000;

// Creates a valid AMD SEV-SNP evidence instance for a confidential borg
// application.
fn create_cb_evidence() -> Evidence {
let serialized = fs::read(CB_EVIDENCE_PATH).expect("could not read evidence");
Evidence::decode(serialized.as_slice()).expect("could not decode evidence")
}

// Creates a valid AMD SEV-SNP endorsement instance for a confidential borg
// application.
fn create_cb_endorsements() -> Endorsements {
let serialized = fs::read(CB_ENDORSEMENT_PATH).expect("could not read endorsement");
Endorsements::decode(serialized.as_slice()).expect("could not decode endorsement")
}

// Creates a valid AMD SEV-SNP refernece values instance for a confidential borg
// application.
fn create_cb_reference_values() -> ReferenceValues {
let serialized = fs::read(CB_REFERENCE_VALUES_PATH).expect("could not read references");
ReferenceValues::decode(serialized.as_slice()).expect("could not decode references")
}

// Creates a valid AMD SEV-SNP evidence instance for Oak Containers.
fn create_containers_evidence() -> Evidence {
let serialized = fs::read(CONTAINERS_EVIDENCE_PATH).expect("could not read evidence");
Expand Down Expand Up @@ -279,6 +313,22 @@ fn verify_containers_explicit_reference_values() {
assert!(p.status() == Status::Success);
}

#[test]
fn verify_cb_succeeds() {
let evidence = create_cb_evidence();
let endorsements = create_cb_endorsements();
let reference_values = create_cb_reference_values();

let r = verify(NOW_UTC_MILLIS, &evidence, &endorsements, &reference_values);
let p = to_attestation_results(&r);

eprintln!("======================================");
eprintln!("code={} reason={}", p.status as i32, p.reason);
eprintln!("======================================");
assert!(r.is_ok());
assert!(p.status() == Status::Success);
}

#[test]
fn verify_rk_succeeds() {
let evidence = create_rk_evidence();
Expand Down

0 comments on commit b97b04f

Please sign in to comment.