|
8 | 8 | #include <rats-tls/log.h>
|
9 | 9 | #include <rats-tls/crypto_wrapper.h>
|
10 | 10 | #include <rats-tls/oid.h>
|
| 11 | +#include <rats-tls/attester.h> |
11 | 12 | #include "openssl.h"
|
| 13 | +#include "internal/attester.h" |
12 | 14 |
|
13 | 15 | #define CERT_SERIAL_NUMBER 9527
|
14 | 16 |
|
@@ -145,26 +147,22 @@ crypto_wrapper_err_t openssl_gen_cert(crypto_wrapper_ctx_t *ctx, rats_tls_cert_a
|
145 | 147 | if (!x509_extension_add(cert, ias_report_signature_oid, epid->ias_report_signature,
|
146 | 148 | epid->ias_report_signature_len))
|
147 | 149 | goto err;
|
148 |
| - } else if (!strcmp(cert_info->evidence.type, "sgx_ecdsa")) { |
149 |
| - ecdsa_attestation_evidence_t *ecdsa = &cert_info->evidence.ecdsa; |
150 |
| - |
151 |
| - if (!x509_extension_add(cert, ecdsa_quote_oid, ecdsa->quote, ecdsa->quote_len)) |
152 |
| - goto err; |
153 |
| - } else if (!strcmp(cert_info->evidence.type, "sgx_la")) { |
154 |
| - la_attestation_evidence_t *la = &cert_info->evidence.la; |
155 |
| - |
156 |
| - if (!x509_extension_add(cert, la_report_oid, la->report, la->report_len)) |
157 |
| - goto err; |
158 |
| - } else if (!strcmp(cert_info->evidence.type, "tdx_ecdsa")) { |
159 |
| - tdx_attestation_evidence_t *tdx = &cert_info->evidence.tdx; |
| 150 | + } |
160 | 151 |
|
161 |
| - if (!x509_extension_add(cert, tdx_quote_oid, tdx->quote, tdx->quote_len)) |
| 152 | + enclave_attester_opts_t *opts = NULL; |
| 153 | + for(int i = 0; i < registerd_enclave_attester_nums; ++i) { |
| 154 | + opts = enclave_attesters_opts[i]; |
| 155 | + if (!opts) { |
| 156 | + RTLS_DEBUG("registerd enclave_attesters_opts is null.\n"); |
162 | 157 | goto err;
|
163 |
| - } else if (!strcmp(cert_info->evidence.type, "sev_snp")) { |
164 |
| - snp_attestation_evidence_t *snp = &cert_info->evidence.snp; |
| 158 | + } |
165 | 159 |
|
166 |
| - if (!x509_extension_add(cert, snp_report_oid, snp->report, snp->report_len)) |
167 |
| - goto err; |
| 160 | + if (!strcmp(cert_info->evidence.type, opts->name)) { |
| 161 | + tee_attestation_evidence_t *evidence = &cert_info->evidence.evidence; |
| 162 | + if (!x509_extension_add(cert, opts->oid, evidence->report, evidence->report_len)) |
| 163 | + goto err; |
| 164 | + break; |
| 165 | + } |
168 | 166 | }
|
169 | 167 |
|
170 | 168 | ret = -CRYPTO_WRAPPER_ERR_CERT;
|
|
0 commit comments