Skip to content

Instantly share code, notes, and snippets.

@glassonion1
Created September 29, 2021 15:49
Show Gist options
  • Save glassonion1/26128feaf78dfbe6eb98d61fb8b5e635 to your computer and use it in GitHub Desktop.
Save glassonion1/26128feaf78dfbe6eb98d61fb8b5e635 to your computer and use it in GitHub Desktop.
package Attestation {
together {
class AttestationReport {
create()
}
class ServerVerifier {
verify_server_cert()
}
class ClientVerifier {
client_auth_root_subjects()
verify_client_cert()
}
class ECDSA {
gen_ecc_cert()
}
}
class IasClient {
get_sigrl()
post_report()
}
IasClient <-- AttestationReport
}
package Server {
class "App" as sapp {
main()
ocall_sgx_init_quote() <<OCall>>
ocall_get_quote() <<OCall>>
}
() OCall as socall
class "Enclave" as senclave {
run_session_session() <<ECall>>
}
() ECall as secall
sapp - socall
sapp ..> secall
secall - senclave
}
AttestationReport ..> socall
senclave ..> AttestationReport
ClientVerifier <.. senclave
ECDSA <.. senclave
package Client {
class "App" as capp {
main()
ocall_sgx_init_quote() <<OCall>>
ocall_get_quote() <<OCall>>
}
() OCall as cocall
class "Enclave" as cenclave {
run_client_session() <<ECall>>
}
() ECall as cecall
cocall - capp
capp ..> cecall
cenclave - cecall
}
AttestationReport ..> cocall
cenclave ..> AttestationReport
ServerVerifier <.. cenclave
ECDSA <.. cenclave
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment