public class MQVParameterSpec
extends java.lang.Object
implements java.security.spec.AlgorithmParameterSpec
Constructor and Description |
---|
MQVParameterSpec(java.security.KeyPair ephemeralKeyPair,
java.security.PublicKey otherPartyEphemeralKey)
Constructor taking an ephemeral key pair without user keying material.
|
MQVParameterSpec(java.security.KeyPair ephemeralKeyPair,
java.security.PublicKey otherPartyEphemeralKey,
java.security.spec.AlgorithmParameterSpec kdfParameterSpec)
Constructor taking an ephemeral key pair and an algorithm spec.
|
MQVParameterSpec(java.security.KeyPair ephemeralKeyPair,
java.security.PublicKey otherPartyEphemeralKey,
byte[] userKeyingMaterial)
Constructor taking an ephemeral key pair.
|
MQVParameterSpec(java.security.PrivateKey ephemeralPrivateKey,
java.security.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.
|
MQVParameterSpec(java.security.PrivateKey ephemeralPrivateKey,
java.security.PublicKey otherPartyEphemeralKey,
java.security.spec.AlgorithmParameterSpec kdfParameterSpec)
Constructor without our ephemeral public key - in this case it is assumed the ephemeral public key can be calculated
later.
|
MQVParameterSpec(java.security.PrivateKey ephemeralPrivateKey,
java.security.PublicKey otherPartyEphemeralKey,
byte[] userKeyingMaterial)
Constructor without our ephemeral public key - in this case it is assumed the ephemeral public key can be calculated
later.
|
MQVParameterSpec(java.security.PublicKey ephemeralPublicKey,
java.security.PrivateKey ephemeralPrivateKey,
java.security.PublicKey otherPartyEphemeralKey)
Constructor without user keying material.
|
MQVParameterSpec(java.security.PublicKey ephemeralPublicKey,
java.security.PrivateKey ephemeralPrivateKey,
java.security.PublicKey otherPartyEphemeralKey,
java.security.spec.AlgorithmParameterSpec kdfParameterSpec)
Base constructor.
|
MQVParameterSpec(java.security.PublicKey ephemeralPublicKey,
java.security.PrivateKey ephemeralPrivateKey,
java.security.PublicKey otherPartyEphemeralKey,
byte[] userKeyingMaterial)
Base constructor.
|
Modifier and Type | Method and Description |
---|---|
java.security.PrivateKey |
getEphemeralPrivateKey()
Return our ephemeral private key.
|
java.security.PublicKey |
getEphemeralPublicKey()
Return our ephemeral public key, if available.
|
java.security.spec.AlgorithmParameterSpec |
getKdfParameterSpec()
Return the AlgorithmParameterSpec for the KDF used to derive the final secret key.
|
java.security.PublicKey |
getOtherPartyEphemeralKey()
Return the other party's ephemeral public key.
|
byte[] |
getUserKeyingMaterial()
Return the user keying material for the KDF used to derive the final secret key.
|
public MQVParameterSpec(java.security.PublicKey ephemeralPublicKey, java.security.PrivateKey ephemeralPrivateKey, java.security.PublicKey otherPartyEphemeralKey, java.security.spec.AlgorithmParameterSpec kdfParameterSpec)
ephemeralPublicKey
- our ephemeral public key.ephemeralPrivateKey
- our ephemeral private key.otherPartyEphemeralKey
- the ephemeral public key sent by the other party.kdfParameterSpec
- parameter spec for key generator to mix with the calculated secret.public MQVParameterSpec(java.security.PublicKey ephemeralPublicKey, java.security.PrivateKey ephemeralPrivateKey, java.security.PublicKey otherPartyEphemeralKey, byte[] userKeyingMaterial)
ephemeralPublicKey
- our ephemeral public key.ephemeralPrivateKey
- our ephemeral private key.otherPartyEphemeralKey
- the other party's ephemeral public key.userKeyingMaterial
- the user keying material for the key derivation function.public MQVParameterSpec(java.security.PublicKey ephemeralPublicKey, java.security.PrivateKey ephemeralPrivateKey, java.security.PublicKey otherPartyEphemeralKey)
ephemeralPublicKey
- our ephemeral public key.ephemeralPrivateKey
- our ephemeral private key.otherPartyEphemeralKey
- the other party's ephemeral public key.public MQVParameterSpec(java.security.KeyPair ephemeralKeyPair, java.security.PublicKey otherPartyEphemeralKey, byte[] userKeyingMaterial)
ephemeralKeyPair
- keypair holding our ephemeral public and private keys.otherPartyEphemeralKey
- the other party's ephemeral public key.userKeyingMaterial
- the user keying material for the key derivation function.public MQVParameterSpec(java.security.KeyPair ephemeralKeyPair, java.security.PublicKey otherPartyEphemeralKey, java.security.spec.AlgorithmParameterSpec kdfParameterSpec)
ephemeralKeyPair
- keypair holding our ephemeral public and private keys.otherPartyEphemeralKey
- the other party's ephemeral public key.kdfParameterSpec
- parameter spec for key generator to mix with the calculated secret.public MQVParameterSpec(java.security.PrivateKey ephemeralPrivateKey, java.security.PublicKey otherPartyEphemeralKey, byte[] userKeyingMaterial)
ephemeralPrivateKey
- our ephemeral private key.otherPartyEphemeralKey
- the other party's ephemeral public key.userKeyingMaterial
- the user keying material for the key derivation function.public MQVParameterSpec(java.security.PrivateKey ephemeralPrivateKey, java.security.PublicKey otherPartyEphemeralKey, java.security.spec.AlgorithmParameterSpec kdfParameterSpec)
ephemeralPrivateKey
- our ephemeral private key.otherPartyEphemeralKey
- the other party's ephemeral public key.kdfParameterSpec
- parameter spec for key generator to mix with the calculated secret.public MQVParameterSpec(java.security.KeyPair ephemeralKeyPair, java.security.PublicKey otherPartyEphemeralKey)
ephemeralKeyPair
- keypair holding our ephemeral public and private keys.otherPartyEphemeralKey
- the other party's ephemeral public key.public MQVParameterSpec(java.security.PrivateKey ephemeralPrivateKey, java.security.PublicKey otherPartyEphemeralKey)
ephemeralPrivateKey
- our ephemeral private key.otherPartyEphemeralKey
- the other party's ephemeral public key.public java.security.PrivateKey getEphemeralPrivateKey()
public java.security.PublicKey getEphemeralPublicKey()
public java.security.PublicKey getOtherPartyEphemeralKey()
public byte[] getUserKeyingMaterial()
public java.security.spec.AlgorithmParameterSpec getKdfParameterSpec()