Skip to content

Commit ce3d47d

Browse files
committed
Update CI to include dependency for azure
1 parent 4c8d97a commit ce3d47d

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

.github/workflows/test.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ jobs:
1010
- name: Checkout code
1111
uses: actions/checkout@v3
1212

13+
- name: Install system dependencies
14+
run: |
15+
sudo apt-get update
16+
sudo apt-get install -y pkg-config libtss2-dev
17+
1318
- name: Set up Rust
1419
uses: dtolnay/rust-toolchain@stable
1520
with:

src/attestation/azure.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
use az_tdx_vtpm::{hcl, imds, report, tdx, vtpm};
12
use tokio_rustls::rustls::pki_types::CertificateDer;
3+
// use openssl::pkey::{PKey, Public};
24

35
use crate::attestation::{compute_report_input, AttestationError, AttestationType, QuoteGenerator};
46

@@ -18,6 +20,23 @@ impl QuoteGenerator for MaaQuoteGenerator {
1820
) -> Result<Vec<u8>, AttestationError> {
1921
let quote_input = compute_report_input(cert_chain, exporter)?;
2022

23+
let td_report = report::get_report().unwrap();
24+
let td_quote_bytes = imds::get_td_quote(&td_report).unwrap();
25+
26+
let bytes = vtpm::get_report().unwrap();
27+
let hcl_report = hcl::HclReport::new(bytes).unwrap();
28+
let var_data_hash = hcl_report.var_data_sha256();
29+
let ak_pub = hcl_report.ak_pub().unwrap();
30+
31+
let td_report: tdx::TdReport = hcl_report.try_into().unwrap();
32+
assert!(var_data_hash == td_report.report_mac.reportdata[..32]);
33+
34+
// let nonce = "a nonce".as_bytes();
35+
//
36+
// let tpm_quote = vtpm::get_quote(nonce).unwrap();
37+
// let der = ak_pub.key.try_to_der().unwrap();
38+
// let pub_key = PKey::public_key_from_der(&der).unwrap();
39+
// tpm_quote.verify(&pub_key, nonce).unwrap();
2140
todo!()
2241
}
2342
}

0 commit comments

Comments
 (0)