Skip to content

App Usage Flow


The application has been developed by the app owner. Therefore, how to use it depends on its own API.

However, there are some specificities about the connection depending on the MSE configuration namely the scenarios chosen by the app owner.

The TLS connection is specific to each scenario:

Zero trust approach

App owner trust approach

Application deployed using --untrusted-ssl

In all scenarios but Zero trust approach the user trusts the app owner. Therefore, the user does not need to verify the MSE app. So, the user can use the app as if it is running inside a classic cloud.

$ curl

In Zero trust approach the user has to verify the MSE app and the SSL certificate before querying the app. The following diagram explains how it works:

Usage process

MSE instance verification

The app user should verify the MSE app, that is to say:

  • check that the code is running inside an enclave
  • check that this enclave belongs to Cosmian
  • check that the code is exactly the same as provided by the app owner

If one of those fails, the app owner must stop querying the application.

Otherwise, the app user should use this certificate to proceed the next queries.

$ curl --cacert verified_cert.pem

For more details about this step, read security.

This verification can be done using: mse verify:

  • code fingerprint can be checked against a fingerprint provided by the app owner, with --fingerprint FINGERPRINT
  • code fingerprint can be computed by the user on their own, with the options --context and --code. The context file and the plain text code must be provided by the app owner to the user by their own means. See the context subcommand
  • the verification of the code fingerprint is omitted if you don’t provide the previous arguments
$ mse verify
Checking your app...
Code fingerprint check skipped!
Verification: success
The verified certificate has been saved at: ./cert.pem
© Copyright 2018-2023 Cosmian. All rights reserved.