Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
smeyer198 committed Nov 27, 2024
1 parent bf1e765 commit 078892f
Showing 1 changed file with 28 additions and 2 deletions.
30 changes: 28 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -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
<dependency>
<groupId>de.darmstadt.tu.crossing.CrySL</groupId>
<artifactId>CrySLParser</artifactId>
<version>x.y.z</version>
</dependency>
```

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<CrySLRule> 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/)._

0 comments on commit 078892f

Please sign in to comment.