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 bouncycastle Show documentation
Show all versions of bouncycastle Show documentation
The Bouncy Castle Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation. This jar
contains APIs for JDK 1.5 and up. The APIs can be used in conjunction with a JCE/JCA provider such as the one
provided with the Bouncy Castle Cryptography APIs.
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;
}
}