JavaSteam
Java port of SteamKit2. JavaSteam targets Java 8.
Download
Latest version is available through Maven
If you get a java.security.InvalidKeyException: Illegal key size or default parameters
exception when trying to encrypt a message you need to download the Unlimited Strength Jurisdiction Policy Files and place them under ${java.home}/jre/lib/security/
. See this stackoverflow question.
1. Add the repository to your build.
Gradle
repositories {
mavenCentral()
}
Maven
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
2. Add the JavaSteam dependency to your project.
Gradle
implementation 'in.dragonbra:javasteam:x.y.z'
Maven
<dependency>
<groupId>in.dragonbra</groupId>
<artifactId>javasteam</artifactId>
<version>x.y.z</version>
</dependency>
3. Add the appropriate cryptography dependency to your project. JavaSteam depends on this.
Gradle
// https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on
implementation 'org.bouncycastle:bcprov-jdk15on:x.y.z>' // NON-ANDROID ONLY
// https://mvnrepository.com/artifact/com.madgag.spongycastle/prov
implementation 'com.madgag.spongycastle:prov:w.x.y.z' // ANDROID ONLY
Maven
<!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on -->
<dependency> <!-- NON-ANDROID ONLY -->
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>x.y.z</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.madgag.spongycastle/prov -->
<dependency> <!-- ANDROID ONLY -->
<groupId>com.madgag.spongycastle</groupId>
<artifactId>prov</artifactId>
<version>w.x.y.z</version>
</dependency>
Getting Started
You can head to the very short Getting Started page or take a look at the samples to get you started with using this library. There some open-source projects too you can check out.
Build
./gradlew build -x signMavenJavaPublication
Contributing
Contributions to the repository are always welcome! Checkout the contribution guidelines to get started.
Other
Join the discord server if you have any questions related or unrelated to this repo or just want to chat!
License
This project is licensed under the MIT License - see the LICENSE file for details