securecsar is a prototype built to secure TOSCA Cloud Service Archives (CSARs). The prototype is part of research work of master's thesis "Securing Cloud Service Archives for Function and Data Shipping in Industrial Environments" done at University of Stuttgart, Germany (IAAS Department). The prototype allows to provide security to TOSCA CSAR by defining policies in CSAR. The prototpye provides security to CSAR by implementing following use-cases.
- encrypt all CSAR artifacts (default case) or individual artifacts in a CSAR
- sign all CSAR artifacts (default case) or individual artifacts in a CSAR
- verify all CSAR artifacts (default case) or individual artifacts in a CSAR
- decrypt all CSAR artifacts (default case) or individual artifacts in a CSAR
The implementation of prototype consists of two projects:
- securecsar-frontend (https://github.com/smalihaider/securecsar-frontend.git) (contains Web based GUI to call REST services)- CURRENT REPOSITORY
- securecsar (https://github.com/smalihaider/securecsar.git) (contains services)
This project is a web-based (containing html and javascripts files) graphical user interface application which runs on grunt server. The project calls encrypt, sign, verify, and decrypt REST endpoints in securecsar project (https://github.com/smalihaider/securecsar.git).
You can easily setup the securecsar-frontend project to have GUI for securecsar REST webervices with the following steps:
- Checkout this repository.
- Install GIT client (https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
- Setup Node.js on your machine (https://nodejs.org/en/)
- Go to the directory where the repository has been checkout, we call this directory "securecscar-frontend".
- Open command prompt (terminal) at this directory and execute the following commands:
- Execute "npm install" (this downloads all nodejs dependencies)
- Execute "npm install -g bower" (this installs bower globally and registers the bower installation in environment)
- Execute "npm insall -g grunt" (this installs grunt globally)
- Execute "bower install" (this downloads all dependencies managed by the bower)
- Copy folder securecscar-frontend/bower_components to securecscar-frontend/app
- Execute "grunt install"
- Execute "npm install -g grunt-contrib-compass"
- Close the command prompt (terminal).
- Install ruby gem installer (https://rubyinstaller.org/downloads/) with all checkboxes at default and insatlling everything when asked upon.
- Open command prompt (terminal) and enter "gem install compass" (this will install saas and compass which are required to start grunt server)
- Set hostname of securecsar service (REST endpoint) in the following files (replace localhost with the new hostname).
- securecscar-frontend/deploy.json
- securecscar-frontend/app/scrivpts/config.js
- securecscar-frontend/app/app_components/DecryptCSAR/decryptcsarController.js
- securecscar-frontend/app/app_components/EncryptCSAR/encryptcsarController.js
- securecscar-frontend/app/app_components/SignCSAR/signcsarController.js By default it is set at http://localhost:8080. So no need for this step, if securecsar-frontend and securecsar services are running on the same machine and server of securecsar services is configured at port 8080.
- Go to securecscar-frontend directory again, open command prompt and enter "grunt serve". This will start grunt server and open your default browser with securecsar-frontend application running on port 9000.
More information of this prototype is included in scripture of the master's thesis "Securing Cloud Service Archives for Function and Data Shipping in Industrial Environments".