public class TlsECCUtils
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.Integer |
EXT_ec_point_formats |
static java.lang.Integer |
EXT_elliptic_curves |
Constructor and Description |
---|
TlsECCUtils() |
Modifier and Type | Method and Description |
---|---|
static void |
addSupportedEllipticCurvesExtension(java.util.Hashtable extensions,
int[] namedCurves) |
static void |
addSupportedPointFormatsExtension(java.util.Hashtable extensions,
short[] ecPointFormats) |
static boolean |
areOnSameCurve(ECDomainParameters a,
ECDomainParameters b) |
static byte[] |
calculateECDHBasicAgreement(ECPublicKeyParameters publicKey,
ECPrivateKeyParameters privateKey) |
static boolean |
containsECCCipherSuites(int[] cipherSuites) |
static byte[] |
createSupportedEllipticCurvesExtension(int[] namedCurves) |
static byte[] |
createSupportedPointFormatsExtension(short[] ecPointFormats) |
static java.math.BigInteger |
deserializeECFieldElement(int fieldSize,
byte[] encoding) |
static ECPoint |
deserializeECPoint(short[] ecPointFormats,
ECCurve curve,
byte[] encoding) |
static ECPublicKeyParameters |
deserializeECPublicKey(short[] ecPointFormats,
ECDomainParameters curve_params,
byte[] encoding) |
static AsymmetricCipherKeyPair |
generateECKeyPair(java.security.SecureRandom random,
ECDomainParameters ecParams) |
static ECPrivateKeyParameters |
generateEphemeralClientKeyExchange(java.security.SecureRandom random,
short[] ecPointFormats,
ECDomainParameters ecParams,
java.io.OutputStream output) |
static java.lang.String |
getNameOfNamedCurve(int namedCurve) |
static ECDomainParameters |
getParametersForNamedCurve(int namedCurve) |
static int[] |
getSupportedEllipticCurvesExtension(java.util.Hashtable extensions) |
static short[] |
getSupportedPointFormatsExtension(java.util.Hashtable extensions) |
static boolean |
hasAnySupportedNamedCurves() |
static boolean |
isCompressionPreferred(short[] ecPointFormats,
short compressionFormat) |
static boolean |
isECCCipherSuite(int cipherSuite) |
static boolean |
isSupportedNamedCurve(int namedCurve) |
static int |
readECExponent(int fieldSize,
java.io.InputStream input) |
static java.math.BigInteger |
readECFieldElement(int fieldSize,
java.io.InputStream input) |
static java.math.BigInteger |
readECParameter(java.io.InputStream input) |
static ECDomainParameters |
readECParameters(int[] namedCurves,
short[] ecPointFormats,
java.io.InputStream input) |
static int[] |
readSupportedEllipticCurvesExtension(byte[] extensionData) |
static short[] |
readSupportedPointFormatsExtension(byte[] extensionData) |
static byte[] |
serializeECFieldElement(int fieldSize,
java.math.BigInteger x) |
static byte[] |
serializeECPoint(short[] ecPointFormats,
ECPoint point) |
static byte[] |
serializeECPublicKey(short[] ecPointFormats,
ECPublicKeyParameters keyParameters) |
static ECPublicKeyParameters |
validateECPublicKey(ECPublicKeyParameters key) |
static void |
writeECExponent(int k,
java.io.OutputStream output) |
static void |
writeECFieldElement(ECFieldElement x,
java.io.OutputStream output) |
static void |
writeECFieldElement(int fieldSize,
java.math.BigInteger x,
java.io.OutputStream output) |
static void |
writeECParameter(java.math.BigInteger x,
java.io.OutputStream output) |
static void |
writeECPoint(short[] ecPointFormats,
ECPoint point,
java.io.OutputStream output) |
static void |
writeExplicitECParameters(short[] ecPointFormats,
ECDomainParameters ecParameters,
java.io.OutputStream output) |
static void |
writeNamedECParameters(int namedCurve,
java.io.OutputStream output) |
public static final java.lang.Integer EXT_elliptic_curves
public static final java.lang.Integer EXT_ec_point_formats
public static void addSupportedEllipticCurvesExtension(java.util.Hashtable extensions, int[] namedCurves) throws java.io.IOException
java.io.IOException
public static void addSupportedPointFormatsExtension(java.util.Hashtable extensions, short[] ecPointFormats) throws java.io.IOException
java.io.IOException
public static int[] getSupportedEllipticCurvesExtension(java.util.Hashtable extensions) throws java.io.IOException
java.io.IOException
public static short[] getSupportedPointFormatsExtension(java.util.Hashtable extensions) throws java.io.IOException
java.io.IOException
public static byte[] createSupportedEllipticCurvesExtension(int[] namedCurves) throws java.io.IOException
java.io.IOException
public static byte[] createSupportedPointFormatsExtension(short[] ecPointFormats) throws java.io.IOException
java.io.IOException
public static int[] readSupportedEllipticCurvesExtension(byte[] extensionData) throws java.io.IOException
java.io.IOException
public static short[] readSupportedPointFormatsExtension(byte[] extensionData) throws java.io.IOException
java.io.IOException
public static java.lang.String getNameOfNamedCurve(int namedCurve)
public static ECDomainParameters getParametersForNamedCurve(int namedCurve)
public static boolean hasAnySupportedNamedCurves()
public static boolean containsECCCipherSuites(int[] cipherSuites)
public static boolean isECCCipherSuite(int cipherSuite)
public static boolean areOnSameCurve(ECDomainParameters a, ECDomainParameters b)
public static boolean isSupportedNamedCurve(int namedCurve)
public static boolean isCompressionPreferred(short[] ecPointFormats, short compressionFormat)
public static byte[] serializeECFieldElement(int fieldSize, java.math.BigInteger x) throws java.io.IOException
java.io.IOException
public static byte[] serializeECPoint(short[] ecPointFormats, ECPoint point) throws java.io.IOException
java.io.IOException
public static byte[] serializeECPublicKey(short[] ecPointFormats, ECPublicKeyParameters keyParameters) throws java.io.IOException
java.io.IOException
public static java.math.BigInteger deserializeECFieldElement(int fieldSize, byte[] encoding) throws java.io.IOException
java.io.IOException
public static ECPoint deserializeECPoint(short[] ecPointFormats, ECCurve curve, byte[] encoding) throws java.io.IOException
java.io.IOException
public static ECPublicKeyParameters deserializeECPublicKey(short[] ecPointFormats, ECDomainParameters curve_params, byte[] encoding) throws java.io.IOException
java.io.IOException
public static byte[] calculateECDHBasicAgreement(ECPublicKeyParameters publicKey, ECPrivateKeyParameters privateKey)
public static AsymmetricCipherKeyPair generateECKeyPair(java.security.SecureRandom random, ECDomainParameters ecParams)
public static ECPrivateKeyParameters generateEphemeralClientKeyExchange(java.security.SecureRandom random, short[] ecPointFormats, ECDomainParameters ecParams, java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public static ECPublicKeyParameters validateECPublicKey(ECPublicKeyParameters key) throws java.io.IOException
java.io.IOException
public static int readECExponent(int fieldSize, java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static java.math.BigInteger readECFieldElement(int fieldSize, java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static java.math.BigInteger readECParameter(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static ECDomainParameters readECParameters(int[] namedCurves, short[] ecPointFormats, java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static void writeECExponent(int k, java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public static void writeECFieldElement(ECFieldElement x, java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public static void writeECFieldElement(int fieldSize, java.math.BigInteger x, java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public static void writeECParameter(java.math.BigInteger x, java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public static void writeExplicitECParameters(short[] ecPointFormats, ECDomainParameters ecParameters, java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public static void writeECPoint(short[] ecPointFormats, ECPoint point, java.io.OutputStream output) throws java.io.IOException
java.io.IOException
public static void writeNamedECParameters(int namedCurve, java.io.OutputStream output) throws java.io.IOException
java.io.IOException