org.spongycastle.jce.spec.MQVPrivateKeySpec Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of prov Show documentation
Show all versions of prov Show documentation
Spongy Castle is a package-rename (org.bouncycastle.* to org.spongycastle.*) of Bouncy Castle
intended for the Android platform. Android unfortunately ships with a stripped-down version of
Bouncy Castle, which prevents easy upgrades - Spongy Castle overcomes this and provides a full,
up-to-date version of the Bouncy Castle cryptographic libs.
The newest version!
package org.spongycastle.jce.spec;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.spec.KeySpec;
import org.spongycastle.jce.interfaces.MQVPrivateKey;
/**
* Static/ephemeral private key (pair) for use with ECMQV key agreement
* (Optionally provides the ephemeral public key)
* @deprecated use MQVParameterSpec
*/
public class MQVPrivateKeySpec
implements KeySpec, MQVPrivateKey
{
private PrivateKey staticPrivateKey;
private PrivateKey ephemeralPrivateKey;
private PublicKey ephemeralPublicKey;
/**
* @param staticPrivateKey the static private key.
* @param ephemeralPrivateKey the ephemeral private key.
*/
public MQVPrivateKeySpec(
PrivateKey staticPrivateKey,
PrivateKey ephemeralPrivateKey)
{
this(staticPrivateKey, ephemeralPrivateKey, null);
}
/**
* @param staticPrivateKey the static private key.
* @param ephemeralPrivateKey the ephemeral private key.
* @param ephemeralPublicKey the ephemeral public key (may be null).
*/
public MQVPrivateKeySpec(
PrivateKey staticPrivateKey,
PrivateKey ephemeralPrivateKey,
PublicKey ephemeralPublicKey)
{
this.staticPrivateKey = staticPrivateKey;
this.ephemeralPrivateKey = ephemeralPrivateKey;
this.ephemeralPublicKey = ephemeralPublicKey;
}
/**
* return the static private key
*/
public PrivateKey getStaticPrivateKey()
{
return staticPrivateKey;
}
/**
* return the ephemeral private key
*/
public PrivateKey getEphemeralPrivateKey()
{
return ephemeralPrivateKey;
}
/**
* return the ephemeral public key (may be null)
*/
public PublicKey getEphemeralPublicKey()
{
return ephemeralPublicKey;
}
/**
* return "ECMQV"
*/
public String getAlgorithm()
{
return "ECMQV";
}
/**
* return null
*/
public String getFormat()
{
return null;
}
/**
* returns null
*/
public byte[] getEncoded()
{
return null;
}
}