![JAR search and dependency download from the Maven repository](/logo.png)
nl.open.jwtdependency.org.bouncycastle.crypto.test.RSAKeyEncapsulationTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-jwt-nodependencies Show documentation
Show all versions of java-jwt-nodependencies Show documentation
This is a drop in replacement for the auth0 java-jwt library (see https://github.com/auth0/java-jwt). This jar makes sure there are no external dependencies (e.g. fasterXml, Apacha Commons) needed. This is useful when deploying to an application server (e.g. tomcat with Alfreso or Pega).
The newest version!
package org.bouncycastle.crypto.test;
import java.math.BigInteger;
import java.security.SecureRandom;
import org.bouncycastle.crypto.AsymmetricCipherKeyPair;
import org.bouncycastle.crypto.digests.SHA1Digest;
import org.bouncycastle.crypto.generators.KDF2BytesGenerator;
import org.bouncycastle.crypto.generators.RSAKeyPairGenerator;
import org.bouncycastle.crypto.kems.RSAKeyEncapsulation;
import org.bouncycastle.crypto.params.KeyParameter;
import org.bouncycastle.crypto.params.RSAKeyGenerationParameters;
import org.bouncycastle.util.test.SimpleTest;
/**
* Tests for the RSA Key Encapsulation Mechanism
*/
public class RSAKeyEncapsulationTest
extends SimpleTest
{
public String getName()
{
return "RSAKeyEncapsulation";
}
public void performTest()
throws Exception
{
// Generate RSA key pair
RSAKeyPairGenerator rsaGen = new RSAKeyPairGenerator();
rsaGen.init(new RSAKeyGenerationParameters(BigInteger.valueOf(65537), new SecureRandom(), 1024, 5));
AsymmetricCipherKeyPair keys = rsaGen.generateKeyPair();
// Set RSA-KEM parameters
RSAKeyEncapsulation kem;
KDF2BytesGenerator kdf = new KDF2BytesGenerator(new SHA1Digest());
SecureRandom rnd = new SecureRandom();
byte[] out = new byte[128];
KeyParameter key1, key2;
// Test RSA-KEM
kem = new RSAKeyEncapsulation(kdf, rnd);
kem.init(keys.getPublic());
key1 = (KeyParameter)kem.encrypt(out, 128);
kem.init(keys.getPrivate());
key2 = (KeyParameter)kem.decrypt(out, 128);
if (!areEqual(key1.getKey(), key2.getKey()))
{
fail("failed test");
}
}
public static void main(
String[] args)
{
runTest(new RSAKeyEncapsulationTest());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy