package org.bouncycastle.jce.spec;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.spec.KeySpec;
import org.bouncycastle.jce.interfaces.MQVPrivateKey;
Static/ephemeral private key (pair) for use with ECMQV key agreement
(Optionally provides the ephemeral public key)
/**
* Static/ephemeral private key (pair) for use with ECMQV key agreement
* (Optionally provides the ephemeral public key)
*/
public class MQVPrivateKeySpec
implements KeySpec, MQVPrivateKey
{
private PrivateKey staticPrivateKey;
private PrivateKey ephemeralPrivateKey;
private PublicKey ephemeralPublicKey;
Params: - staticPrivateKey – the static private key.
- ephemeralPrivateKey – the ephemeral private key.
/**
* @param staticPrivateKey the static private key.
* @param ephemeralPrivateKey the ephemeral private key.
*/
public MQVPrivateKeySpec(
PrivateKey staticPrivateKey,
PrivateKey ephemeralPrivateKey)
{
this(staticPrivateKey, ephemeralPrivateKey, null);
}
Params: - staticPrivateKey – the static private key.
- ephemeralPrivateKey – the ephemeral private key.
- ephemeralPublicKey – the ephemeral public key (may be 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
/**
* return the static private key
*/
public PrivateKey getStaticPrivateKey()
{
return staticPrivateKey;
}
return the ephemeral private key
/**
* return the ephemeral private key
*/
public PrivateKey getEphemeralPrivateKey()
{
return ephemeralPrivateKey;
}
return the ephemeral public key (may be null)
/**
* return the ephemeral public key (may be null)
*/
public PublicKey getEphemeralPublicKey()
{
return ephemeralPublicKey;
}
return "ECMQV"
/**
* return "ECMQV"
*/
public String getAlgorithm()
{
return "ECMQV";
}
return null
/**
* return null
*/
public String getFormat()
{
return null;
}
returns null
/**
* returns null
*/
public byte[] getEncoded()
{
return null;
}
}