Upgrading to hyper 0.13 allows us to use the rust-native rustls TLS
library for HTTPS, and makes using await/async easy.
This was inspired by the work to set up the new ratelimiter service and
a desire to not ship the TLS proxy that kbs required for different
reasons just to talk to Intel's attestation service.
Parse the certs that signed the quote and log them out. We don't
reject them if they're busted, yet, for fear of how often that might
occur.
Fixes KBS-173
Move from API 3 to API 4.
The major change is with the isvEnclaveQuoteStatus result value, which
now includes two new values: SW_HARDENING_NEEDED and
CONFIGURATION_AND_SW_HARDENING_NEEDED.
Also the response now optionally contains the advisory URL and IDs
whenever isvEnclaveQuoteStatus is one of GROUP_OUT_OF_DATE,
CONFIGURATION_NEEDED, SW_HARDENING_NEEDED, or
CONFIGURATION_AND_SW_HARDENING_NEEDED.
This copies over the ias_client and its dependency kbupd_util over from the
SecureValueRecovery repo. These are from the commit
5725cc27c061dac688feb1ff31ec6027dead718f.
We're moving this crate out to make it easier for CDS to use it. (There's been
some cargo bugs causing this crate to not be picked up in SVR.)
The version being copied over is from commit
5725cc27c061dac688feb1ff31ec6027dead718f.