Skip to content
Julius Hardt edited this page Oct 17, 2021 · 2 revisions

Videos demonstrating code generation

Trying the composer in the browser

You can try the composer (GUI for the ComposableCrypto model) and the OpenAPI specification generation in your browser without having to install any software: https://www.julius-hardt.de/ComposableCrypto/

Parts (directories in the repository)

  • /App: ComposableCrypto main application (Blazor WebAssembly app). This contains the GUI for building the tree of cryptographic components, the algorithm
  • /ComposableCrypto-java: Java component system and parts of the integration of ELSA
  • /CrySLRules: CrySL rules for the client portion of ELSA
  • /ELSACCGenIntegration: Code template for the ELSA client
  • /Host: WebView to host the ComposableCrypto main application in a native window when opened via CogniCrypt's code generation wizard

Setting up your development environment

ComposableCrypto main application

  1. Install .NET 5.
  2. Open to the directory App: cd App
  3. Run dotnet build
  4. Open the directory of the main project: cd ComposableCrypto
  5. Execute dotnet run
  6. Open your web browser and visit http://localhost:5000.

ComposableCrypto-java

  1. Install a Java Development Kit (JDK 1.8 or higher).
  2. Open ComposableCrypto-java.
  3. ComposableCrypto-java is a Gradle project. Execute ./gradlew build to build the library. The resulting JAR appears under build/libs.

Everything else (full integration into Eclipse)

Currently, the full integration into Eclipse only works under Windows (because we use the MSVC C++ compiler).

  1. Install Visual Studio 2022 with the C++ workload.
  2. Open the Visual Studio Developer Command Prompt.
  3. Go to Host/ComposableCryptoHost: cd ...\Host\ComposableCryptoHost.
  4. Run nmake to build the project.
  5. A file ComposableCryptoHost.exe is generated. Add the directory containing this file to the PATH of your system. To do so, type Win+R, enter rundll32 sysdm.cpl,EditEnvironmentVariables and add the directory containing ComposableCryptoHost.exe to your PATH.
  6. Follow the instruction in the document Howto_run_CogniCrypt_from_Sources.pdf to set up a development environment for Eclipse. This document is currently not public and can be requested by the maintainer of this project. For the CogniCrypt repository, use https://github.com/juliushardt/CogniCrypt instead of https://github.com/eclipse-cognicrypt/CogniCrypt. Use the branch feature/tast_integrator_bachelorpraktikum for CogniCrypt. For CryptSL, use the development branch and the repo linked in the document.
  7. Open the development instance of Eclipse in which CogniCrypt runs from sources, as described in (Howto_run_CogniCrypt_from_Sources.pdf).
  8. Open the CogniCrypt preferences window (Window > Preferences > CogniCrypt). Click "Browse local rules directory" and set it to the CrySLRules directory of this repository.
  9. Start the integrator (while "E" in a green circle in the toolbar), choose "Import mode" and import the file LongTermSecureArchiving.zip from the CrySLRules folder in this repository.
  10. After importing the task for ELSA, restart Eclipse. After that, the sample task for ELSA should be available.