Package org.bouncycastle.jcajce.spec
Class MQVParameterSpec
- java.lang.Object
-
- org.bouncycastle.jcajce.spec.MQVParameterSpec
-
- All Implemented Interfaces:
java.security.spec.AlgorithmParameterSpec
public class MQVParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpecParameter spec to provide MQV ephemeral keys and user keying material.
-
-
Constructor Summary
Constructors Constructor 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, 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, 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, byte[] userKeyingMaterial)Base constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.security.PrivateKeygetEphemeralPrivateKey()Return our ephemeral private key.java.security.PublicKeygetEphemeralPublicKey()Return our ephemeral public key, if available.java.security.PublicKeygetOtherPartyEphemeralKey()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.
-
-
-
Constructor Detail
-
MQVParameterSpec
public MQVParameterSpec(java.security.PublicKey ephemeralPublicKey, java.security.PrivateKey ephemeralPrivateKey, java.security.PublicKey otherPartyEphemeralKey, byte[] userKeyingMaterial)Base constructor.- Parameters:
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.
-
MQVParameterSpec
public MQVParameterSpec(java.security.PublicKey ephemeralPublicKey, java.security.PrivateKey ephemeralPrivateKey, java.security.PublicKey otherPartyEphemeralKey)Constructor without user keying material.- Parameters:
ephemeralPublicKey- our ephemeral public key.ephemeralPrivateKey- our ephemeral private key.otherPartyEphemeralKey- the other party's ephemeral public key.
-
MQVParameterSpec
public MQVParameterSpec(java.security.KeyPair ephemeralKeyPair, java.security.PublicKey otherPartyEphemeralKey, byte[] userKeyingMaterial)Constructor taking an ephemeral key pair.- Parameters:
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.
-
MQVParameterSpec
public 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.- Parameters:
ephemeralPrivateKey- our ephemeral private key.otherPartyEphemeralKey- the other party's ephemeral public key.userKeyingMaterial- the user keying material for the key derivation function.
-
MQVParameterSpec
public MQVParameterSpec(java.security.KeyPair ephemeralKeyPair, java.security.PublicKey otherPartyEphemeralKey)Constructor taking an ephemeral key pair without user keying material.- Parameters:
ephemeralKeyPair- keypair holding our ephemeral public and private keys.otherPartyEphemeralKey- the other party's ephemeral public key.
-
MQVParameterSpec
public 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.- Parameters:
ephemeralPrivateKey- our ephemeral private key.otherPartyEphemeralKey- the other party's ephemeral public key.
-
-
Method Detail
-
getEphemeralPrivateKey
public java.security.PrivateKey getEphemeralPrivateKey()
Return our ephemeral private key.- Returns:
- our ephemeral private key.
-
getEphemeralPublicKey
public java.security.PublicKey getEphemeralPublicKey()
Return our ephemeral public key, if available.- Returns:
- the ephemeral public key, may be null.
-
getOtherPartyEphemeralKey
public java.security.PublicKey getOtherPartyEphemeralKey()
Return the other party's ephemeral public key.- Returns:
- the other party's public key.
-
getUserKeyingMaterial
public byte[] getUserKeyingMaterial()
Return the user keying material for the KDF used to derive the final secret key.- Returns:
- the user keying material to be input into the KDF.
-
-