1
- use crate :: dcap_utils:: DCAPRemoteAttestationResult ;
1
+ use crate :: dcap_utils:: { DCAPRemoteAttestationResult , ValidatedPCSClient } ;
2
2
use crate :: errors:: Error ;
3
3
use anyhow:: anyhow;
4
4
use attestation_report:: QEType ;
5
5
use crypto:: Address ;
6
- use dcap_pcs:: client:: PCSClient ;
7
6
use dcap_quote_verifier:: quotes:: version_3:: verify_quote_v3;
8
7
use dcap_quote_verifier:: types:: quotes:: version_3:: QuoteV3 ;
9
8
use keymanager:: EnclaveKeyManager ;
@@ -27,7 +26,7 @@ pub const INTEL_ROOT_CA_HASH: [u8; 32] = [
27
26
pub fn run_dcap_ra (
28
27
key_manager : & EnclaveKeyManager ,
29
28
target_enclave_key : Address ,
30
- pcs_client : PCSClient ,
29
+ pcs_client : ValidatedPCSClient ,
31
30
) -> Result < ( ) , Error > {
32
31
let current_time = Time :: now ( ) ;
33
32
let result = dcap_ra ( key_manager, target_enclave_key, current_time, pcs_client) ?;
@@ -44,7 +43,7 @@ pub(crate) fn dcap_ra(
44
43
key_manager : & EnclaveKeyManager ,
45
44
target_enclave_key : Address ,
46
45
current_time : Time ,
47
- pcs_client : PCSClient ,
46
+ pcs_client : ValidatedPCSClient ,
48
47
) -> Result < DCAPRemoteAttestationResult , Error > {
49
48
let ek_info = key_manager. load ( target_enclave_key) . map_err ( |e| {
50
49
Error :: key_manager (
@@ -64,7 +63,7 @@ pub(crate) fn dcap_ra(
64
63
let ( quote, _) = QuoteV3 :: from_bytes ( & raw_quote) . map_err ( Error :: dcap_quote_verifier) ?;
65
64
66
65
let collateral = pcs_client
67
- . get_collateral ( true , & quote. signature . qe_cert_data )
66
+ . validate_and_get_collateral ( true , & quote. signature . qe_cert_data )
68
67
. map_err ( |e| Error :: anyhow ( anyhow ! ( "cannot get collateral data: {}" , e) ) ) ?;
69
68
70
69
info ! (
@@ -115,6 +114,7 @@ fn rsgx_qe_get_quote(app_report: &sgx_report_t) -> Result<Vec<u8>, sgx_quote3_er
115
114
#[ cfg( test) ]
116
115
mod tests {
117
116
use super :: * ;
117
+ use dcap_pcs:: client:: PCSClient ;
118
118
use dcap_quote_verifier:: { crypto:: keccak256sum, types:: SGX_TEE_TYPE } ;
119
119
120
120
#[ test]
0 commit comments