From 078892f086055399760259ecbaf7663b154fab00 Mon Sep 17 00:00:00 2001 From: Sven Meyer Date: Wed, 27 Nov 2024 14:04:46 +0100 Subject: [PATCH] Update README.md --- README.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bb60951f..3267ab9e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,31 @@ -# CryptSL +# CrySL (formerly CryptSL) -CrySL is a domain-specific language that allows to specify the correct usage of cryptographic APIs. +CrySL is a domain-specific language that allows to specify the correct usage of APIs. Example specifications for the JavaCryptographicArchitecture (JCA), BouncyCastle and Tink can be found [here](https://github.com/CROSSINGTUD/Crypto-API-Rules). + +## Parsing CrySL files +We implemented a parser that reads a set of `.crysl` files and parses them into Java objects. Include the following dependency in your project (replace `x.y.z` with the latest version): + +```xml + + de.darmstadt.tu.crossing.CrySL + CrySLParser + x.y.z + +``` + +In your program, you can import the `crysl.CrySLParser` and read a set of `.crysl` files from a directory or a `.zip` file: + +```java +CrySLParser parser = new CrySLParser(); +Collection rules = parser.parseRulesFromPath("path/to/directory_or_zip_file"); + +System.out.println("Found " + rules.size() + " for classes:"); +for (CrySLRule rule : rules) { + System.out.println(rule.getClassName()); +} +``` + +## Publications + Paper: https://ieeexplore.ieee.org/document/8880510 _More information can be found under the following [link](https://www.eclipse.org/cognicrypt/documentation/crysl/)._