Top Description Fields Constructors Methods
org.bouncycastle.jcajce.spec

public Class MQVParameterSpec

extends Object
implements AlgorithmParameterSpec
Class Inheritance
All Implemented Interfaces
java.security.spec.AlgorithmParameterSpec
Imports
java.security.KeyPair, .PrivateKey, .PublicKey, java.security.spec.AlgorithmParameterSpec, org.bouncycastle.util.Arrays

Parameter spec to provide MQV ephemeral keys and user keying material.

Field Summary

Modifier and TypeField and Description
private final PrivateKey
private final PublicKey
private final PublicKey
private final byte[]

Constructor Summary

AccessConstructor and Description
public
MQVParameterSpec(PublicKey
our ephemeral public key.
ephemeralPublicKey
,
PrivateKey
our ephemeral private key.
ephemeralPrivateKey
,
PublicKey
the other party's ephemeral public key.
otherPartyEphemeralKey
,
byte[]
the user keying material for the key derivation function.
userKeyingMaterial
)

Base constructor.

public
MQVParameterSpec(PublicKey
our ephemeral public key.
ephemeralPublicKey
,
PrivateKey
our ephemeral private key.
ephemeralPrivateKey
,
PublicKey
the other party's ephemeral public key.
otherPartyEphemeralKey
)

Constructor without user keying material.

public
MQVParameterSpec(KeyPair
keypair holding our ephemeral public and private keys.
ephemeralKeyPair
,
PublicKey
the other party's ephemeral public key.
otherPartyEphemeralKey
,
byte[]
the user keying material for the key derivation function.
userKeyingMaterial
)

Constructor taking an ephemeral key pair.

public
MQVParameterSpec(PrivateKey
our ephemeral private key.
ephemeralPrivateKey
,
PublicKey
the other party's ephemeral public key.
otherPartyEphemeralKey
,
byte[]
the user keying material for the key derivation function.
userKeyingMaterial
)

Constructor without our ephemeral public key - in this case it is assumed the ephemeral public key can be calculated later.

public
MQVParameterSpec(KeyPair
keypair holding our ephemeral public and private keys.
ephemeralKeyPair
,
PublicKey
the other party's ephemeral public key.
otherPartyEphemeralKey
)

Constructor taking an ephemeral key pair without user keying material.

public
MQVParameterSpec(PrivateKey
our ephemeral private key.
ephemeralPrivateKey
,
PublicKey
the other party's ephemeral public key.
otherPartyEphemeralKey
)

Constructor without our ephemeral public key or user keying material - in this case it is assumed the ephemeral public key can be calculated later.

Method Summary

Modifier and TypeMethod and Description
public PrivateKey

Returns:

our ephemeral private key.
getEphemeralPrivateKey
()

Return our ephemeral private key.

public PublicKey

Returns:

the ephemeral public key, may be null.
getEphemeralPublicKey
()

Return our ephemeral public key, if available.

public PublicKey

Returns:

the other party's public key.
getOtherPartyEphemeralKey
()

Return the other party's ephemeral public key.

public byte[]

Returns:

the user keying material to be input into the KDF.
getUserKeyingMaterial
()

Return the user keying material for the KDF used to derive the final secret key.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ephemeralPrivateKeyback to summary
private final PrivateKey ephemeralPrivateKey
ephemeralPublicKeyback to summary
private final PublicKey ephemeralPublicKey
otherPartyEphemeralKeyback to summary
private final PublicKey otherPartyEphemeralKey
userKeyingMaterialback to summary
private final byte[] userKeyingMaterial

Constructor Detail

MQVParameterSpecback to summary
public MQVParameterSpec(PublicKey ephemeralPublicKey, PrivateKey ephemeralPrivateKey, PublicKey otherPartyEphemeralKey, byte[] userKeyingMaterial)

Base constructor.

Parameters
ephemeralPublicKey:PublicKey

our ephemeral public key.

ephemeralPrivateKey:PrivateKey

our ephemeral private key.

otherPartyEphemeralKey:PublicKey

the other party's ephemeral public key.

userKeyingMaterial:byte[]

the user keying material for the key derivation function.

MQVParameterSpecback to summary
public MQVParameterSpec(PublicKey ephemeralPublicKey, PrivateKey ephemeralPrivateKey, PublicKey otherPartyEphemeralKey)

Constructor without user keying material.

Parameters
ephemeralPublicKey:PublicKey

our ephemeral public key.

ephemeralPrivateKey:PrivateKey

our ephemeral private key.

otherPartyEphemeralKey:PublicKey

the other party's ephemeral public key.

MQVParameterSpecback to summary
public MQVParameterSpec(KeyPair ephemeralKeyPair, PublicKey otherPartyEphemeralKey, byte[] userKeyingMaterial)

Constructor taking an ephemeral key pair.

Parameters
ephemeralKeyPair:KeyPair

keypair holding our ephemeral public and private keys.

otherPartyEphemeralKey:PublicKey

the other party's ephemeral public key.

userKeyingMaterial:byte[]

the user keying material for the key derivation function.

MQVParameterSpecback to summary
public MQVParameterSpec(PrivateKey ephemeralPrivateKey, PublicKey otherPartyEphemeralKey, byte[] userKeyingMaterial)

Constructor without our ephemeral public key - in this case it is assumed the ephemeral public key can be calculated later.

Parameters
ephemeralPrivateKey:PrivateKey

our ephemeral private key.

otherPartyEphemeralKey:PublicKey

the other party's ephemeral public key.

userKeyingMaterial:byte[]

the user keying material for the key derivation function.

MQVParameterSpecback to summary
public MQVParameterSpec(KeyPair ephemeralKeyPair, PublicKey otherPartyEphemeralKey)

Constructor taking an ephemeral key pair without user keying material.

Parameters
ephemeralKeyPair:KeyPair

keypair holding our ephemeral public and private keys.

otherPartyEphemeralKey:PublicKey

the other party's ephemeral public key.

MQVParameterSpecback to summary
public MQVParameterSpec(PrivateKey ephemeralPrivateKey, PublicKey otherPartyEphemeralKey)

Constructor without our ephemeral public key or user keying material - in this case it is assumed the ephemeral public key can be calculated later.

Parameters
ephemeralPrivateKey:PrivateKey

our ephemeral private key.

otherPartyEphemeralKey:PublicKey

the other party's ephemeral public key.

Method Detail

getEphemeralPrivateKeyback to summary
public PrivateKey getEphemeralPrivateKey()

Return our ephemeral private key.

Returns:PrivateKey

our ephemeral private key.

getEphemeralPublicKeyback to summary
public PublicKey getEphemeralPublicKey()

Return our ephemeral public key, if available.

Returns:PublicKey

the ephemeral public key, may be null.

getOtherPartyEphemeralKeyback to summary
public PublicKey getOtherPartyEphemeralKey()

Return the other party's ephemeral public key.

Returns:PublicKey

the other party's public key.

getUserKeyingMaterialback to summary
public byte[] getUserKeyingMaterial()

Return the user keying material for the KDF used to derive the final secret key.

Returns:byte[]

the user keying material to be input into the KDF.