org.bouncycastle.crypto.params.DHUPublicParameters Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-ext-debug-jdk18on Show documentation
Show all versions of bcprov-ext-debug-jdk18on Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for Java 1.8 and later with debug enabled.
The newest version!
package org.bouncycastle.crypto.params;
import org.bouncycastle.crypto.CipherParameters;
/**
* Parameters holder for static/ephemeral agreement as described in NIST SP 800-56A.
*/
public class DHUPublicParameters
implements CipherParameters
{
private DHPublicKeyParameters staticPublicKey;
private DHPublicKeyParameters ephemeralPublicKey;
public DHUPublicParameters(
DHPublicKeyParameters staticPublicKey,
DHPublicKeyParameters ephemeralPublicKey)
{
if (staticPublicKey == null)
{
throw new NullPointerException("staticPublicKey cannot be null");
}
if (ephemeralPublicKey == null)
{
throw new NullPointerException("ephemeralPublicKey cannot be null");
}
if (!staticPublicKey.getParameters().equals(ephemeralPublicKey.getParameters()))
{
throw new IllegalArgumentException("Static and ephemeral public keys have different domain parameters");
}
this.staticPublicKey = staticPublicKey;
this.ephemeralPublicKey = ephemeralPublicKey;
}
public DHPublicKeyParameters getStaticPublicKey()
{
return staticPublicKey;
}
public DHPublicKeyParameters getEphemeralPublicKey()
{
return ephemeralPublicKey;
}
}