Package org.bouncycastle.crypto.tls
Class TlsDHUtils
- java.lang.Object
-
- org.bouncycastle.crypto.tls.TlsDHUtils
-
public class TlsDHUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Integer
EXT_negotiated_ff_dhe_groups
-
Constructor Summary
Constructors Constructor Description TlsDHUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addNegotiatedDHEGroupsClientExtension(java.util.Hashtable extensions, short[] dheGroups)
static void
addNegotiatedDHEGroupsServerExtension(java.util.Hashtable extensions, short dheGroup)
static boolean
areCompatibleParameters(DHParameters a, DHParameters b)
static byte[]
calculateDHBasicAgreement(DHPublicKeyParameters publicKey, DHPrivateKeyParameters privateKey)
static boolean
containsDHECipherSuites(int[] cipherSuites)
static byte[]
createNegotiatedDHEGroupsClientExtension(short[] dheGroups)
static byte[]
createNegotiatedDHEGroupsServerExtension(short dheGroup)
static AsymmetricCipherKeyPair
generateDHKeyPair(java.security.SecureRandom random, DHParameters dhParams)
static DHPrivateKeyParameters
generateEphemeralClientKeyExchange(java.security.SecureRandom random, DHParameters dhParams, java.io.OutputStream output)
static DHPrivateKeyParameters
generateEphemeralServerKeyExchange(java.security.SecureRandom random, DHParameters dhParams, java.io.OutputStream output)
static short[]
getNegotiatedDHEGroupsClientExtension(java.util.Hashtable extensions)
static short
getNegotiatedDHEGroupsServerExtension(java.util.Hashtable extensions)
static DHParameters
getParametersForDHEGroup(short dheGroup)
static boolean
isDHECipherSuite(int cipherSuite)
static java.math.BigInteger
readDHParameter(java.io.InputStream input)
static short[]
readNegotiatedDHEGroupsClientExtension(byte[] extensionData)
static short
readNegotiatedDHEGroupsServerExtension(byte[] extensionData)
static DHParameters
validateDHParameters(DHParameters params)
static DHPublicKeyParameters
validateDHPublicKey(DHPublicKeyParameters key)
static void
writeDHParameter(java.math.BigInteger x, java.io.OutputStream output)
-
-
-
Method Detail
-
addNegotiatedDHEGroupsClientExtension
public static void addNegotiatedDHEGroupsClientExtension(java.util.Hashtable extensions, short[] dheGroups) throws java.io.IOException
- Throws:
java.io.IOException
-
addNegotiatedDHEGroupsServerExtension
public static void addNegotiatedDHEGroupsServerExtension(java.util.Hashtable extensions, short dheGroup) throws java.io.IOException
- Throws:
java.io.IOException
-
getNegotiatedDHEGroupsClientExtension
public static short[] getNegotiatedDHEGroupsClientExtension(java.util.Hashtable extensions) throws java.io.IOException
- Throws:
java.io.IOException
-
getNegotiatedDHEGroupsServerExtension
public static short getNegotiatedDHEGroupsServerExtension(java.util.Hashtable extensions) throws java.io.IOException
- Throws:
java.io.IOException
-
createNegotiatedDHEGroupsClientExtension
public static byte[] createNegotiatedDHEGroupsClientExtension(short[] dheGroups) throws java.io.IOException
- Throws:
java.io.IOException
-
createNegotiatedDHEGroupsServerExtension
public static byte[] createNegotiatedDHEGroupsServerExtension(short dheGroup) throws java.io.IOException
- Throws:
java.io.IOException
-
readNegotiatedDHEGroupsClientExtension
public static short[] readNegotiatedDHEGroupsClientExtension(byte[] extensionData) throws java.io.IOException
- Throws:
java.io.IOException
-
readNegotiatedDHEGroupsServerExtension
public static short readNegotiatedDHEGroupsServerExtension(byte[] extensionData) throws java.io.IOException
- Throws:
java.io.IOException
-
getParametersForDHEGroup
public static DHParameters getParametersForDHEGroup(short dheGroup)
-
containsDHECipherSuites
public static boolean containsDHECipherSuites(int[] cipherSuites)
-
isDHECipherSuite
public static boolean isDHECipherSuite(int cipherSuite)
-
areCompatibleParameters
public static boolean areCompatibleParameters(DHParameters a, DHParameters b)
-
calculateDHBasicAgreement
public static byte[] calculateDHBasicAgreement(DHPublicKeyParameters publicKey, DHPrivateKeyParameters privateKey)
-
generateDHKeyPair
public static AsymmetricCipherKeyPair generateDHKeyPair(java.security.SecureRandom random, DHParameters dhParams)
-
generateEphemeralClientKeyExchange
public static DHPrivateKeyParameters generateEphemeralClientKeyExchange(java.security.SecureRandom random, DHParameters dhParams, java.io.OutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
generateEphemeralServerKeyExchange
public static DHPrivateKeyParameters generateEphemeralServerKeyExchange(java.security.SecureRandom random, DHParameters dhParams, java.io.OutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
validateDHParameters
public static DHParameters validateDHParameters(DHParameters params) throws java.io.IOException
- Throws:
java.io.IOException
-
validateDHPublicKey
public static DHPublicKeyParameters validateDHPublicKey(DHPublicKeyParameters key) throws java.io.IOException
- Throws:
java.io.IOException
-
readDHParameter
public static java.math.BigInteger readDHParameter(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
writeDHParameter
public static void writeDHParameter(java.math.BigInteger x, java.io.OutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
-