Bouncy Castle Cryptography Library 1.49

org.bouncycastle.crypto.tls
Class TlsECCUtils

java.lang.Object
  extended by org.bouncycastle.crypto.tls.TlsECCUtils

public class TlsECCUtils
extends java.lang.Object


Field Summary
static java.lang.Integer EXT_ec_point_formats
           
static java.lang.Integer EXT_elliptic_curves
           
 
Constructor Summary
TlsECCUtils()
           
 
Method Summary
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 org.bouncycastle.math.ec.ECPoint deserializeECPoint(short[] ecPointFormats, org.bouncycastle.math.ec.ECCurve curve, byte[] encoding)
           
static ECPublicKeyParameters deserializeECPublicKey(short[] ecPointFormats, ECDomainParameters curve_params, byte[] encoding)
           
static AsymmetricCipherKeyPair generateECKeyPair(java.security.SecureRandom random, ECDomainParameters ecParams)
           
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[] extensionValue)
           
static short[] readSupportedPointFormatsExtension(byte[] extensionValue)
           
static byte[] serializeECFieldElement(int fieldSize, java.math.BigInteger x)
           
static byte[] serializeECPoint(short[] ecPointFormats, org.bouncycastle.math.ec.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(int fieldSize, java.math.BigInteger x, java.io.OutputStream output)
           
static void writeECParameter(java.math.BigInteger x, java.io.OutputStream output)
           
static void writeExplicitECParameters(short[] ecPointFormats, ECDomainParameters ecParameters, java.io.OutputStream output)
           
static void writeNamedECParameters(int namedCurve, java.io.OutputStream output)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXT_elliptic_curves

public static final java.lang.Integer EXT_elliptic_curves

EXT_ec_point_formats

public static final java.lang.Integer EXT_ec_point_formats
Constructor Detail

TlsECCUtils

public TlsECCUtils()
Method Detail

addSupportedEllipticCurvesExtension

public static void addSupportedEllipticCurvesExtension(java.util.Hashtable extensions,
                                                       int[] namedCurves)
                                                throws java.io.IOException
Throws:
java.io.IOException

addSupportedPointFormatsExtension

public static void addSupportedPointFormatsExtension(java.util.Hashtable extensions,
                                                     short[] ecPointFormats)
                                              throws java.io.IOException
Throws:
java.io.IOException

getSupportedEllipticCurvesExtension

public static int[] getSupportedEllipticCurvesExtension(java.util.Hashtable extensions)
                                                 throws java.io.IOException
Throws:
java.io.IOException

getSupportedPointFormatsExtension

public static short[] getSupportedPointFormatsExtension(java.util.Hashtable extensions)
                                                 throws java.io.IOException
Throws:
java.io.IOException

createSupportedEllipticCurvesExtension

public static byte[] createSupportedEllipticCurvesExtension(int[] namedCurves)
                                                     throws java.io.IOException
Throws:
java.io.IOException

createSupportedPointFormatsExtension

public static byte[] createSupportedPointFormatsExtension(short[] ecPointFormats)
                                                   throws java.io.IOException
Throws:
java.io.IOException

readSupportedEllipticCurvesExtension

public static int[] readSupportedEllipticCurvesExtension(byte[] extensionValue)
                                                  throws java.io.IOException
Throws:
java.io.IOException

readSupportedPointFormatsExtension

public static short[] readSupportedPointFormatsExtension(byte[] extensionValue)
                                                  throws java.io.IOException
Throws:
java.io.IOException

getNameOfNamedCurve

public static java.lang.String getNameOfNamedCurve(int namedCurve)

getParametersForNamedCurve

public static ECDomainParameters getParametersForNamedCurve(int namedCurve)

hasAnySupportedNamedCurves

public static boolean hasAnySupportedNamedCurves()

containsECCCipherSuites

public static boolean containsECCCipherSuites(int[] cipherSuites)

isECCCipherSuite

public static boolean isECCCipherSuite(int cipherSuite)

areOnSameCurve

public static boolean areOnSameCurve(ECDomainParameters a,
                                     ECDomainParameters b)

isSupportedNamedCurve

public static boolean isSupportedNamedCurve(int namedCurve)

isCompressionPreferred

public static boolean isCompressionPreferred(short[] ecPointFormats,
                                             short compressionFormat)

serializeECFieldElement

public static byte[] serializeECFieldElement(int fieldSize,
                                             java.math.BigInteger x)
                                      throws java.io.IOException
Throws:
java.io.IOException

serializeECPoint

public static byte[] serializeECPoint(short[] ecPointFormats,
                                      org.bouncycastle.math.ec.ECPoint point)
                               throws java.io.IOException
Throws:
java.io.IOException

serializeECPublicKey

public static byte[] serializeECPublicKey(short[] ecPointFormats,
                                          ECPublicKeyParameters keyParameters)
                                   throws java.io.IOException
Throws:
java.io.IOException

deserializeECFieldElement

public static java.math.BigInteger deserializeECFieldElement(int fieldSize,
                                                             byte[] encoding)
                                                      throws java.io.IOException
Throws:
java.io.IOException

deserializeECPoint

public static org.bouncycastle.math.ec.ECPoint deserializeECPoint(short[] ecPointFormats,
                                                                  org.bouncycastle.math.ec.ECCurve curve,
                                                                  byte[] encoding)
                                                           throws java.io.IOException
Throws:
java.io.IOException

deserializeECPublicKey

public static ECPublicKeyParameters deserializeECPublicKey(short[] ecPointFormats,
                                                           ECDomainParameters curve_params,
                                                           byte[] encoding)
                                                    throws java.io.IOException
Throws:
java.io.IOException

calculateECDHBasicAgreement

public static byte[] calculateECDHBasicAgreement(ECPublicKeyParameters publicKey,
                                                 ECPrivateKeyParameters privateKey)

generateECKeyPair

public static AsymmetricCipherKeyPair generateECKeyPair(java.security.SecureRandom random,
                                                        ECDomainParameters ecParams)

validateECPublicKey

public static ECPublicKeyParameters validateECPublicKey(ECPublicKeyParameters key)
                                                 throws java.io.IOException
Throws:
java.io.IOException

readECExponent

public static int readECExponent(int fieldSize,
                                 java.io.InputStream input)
                          throws java.io.IOException
Throws:
java.io.IOException

readECFieldElement

public static java.math.BigInteger readECFieldElement(int fieldSize,
                                                      java.io.InputStream input)
                                               throws java.io.IOException
Throws:
java.io.IOException

readECParameter

public static java.math.BigInteger readECParameter(java.io.InputStream input)
                                            throws java.io.IOException
Throws:
java.io.IOException

readECParameters

public static ECDomainParameters readECParameters(int[] namedCurves,
                                                  short[] ecPointFormats,
                                                  java.io.InputStream input)
                                           throws java.io.IOException
Throws:
java.io.IOException

writeECExponent

public static void writeECExponent(int k,
                                   java.io.OutputStream output)
                            throws java.io.IOException
Throws:
java.io.IOException

writeECFieldElement

public static void writeECFieldElement(int fieldSize,
                                       java.math.BigInteger x,
                                       java.io.OutputStream output)
                                throws java.io.IOException
Throws:
java.io.IOException

writeECParameter

public static void writeECParameter(java.math.BigInteger x,
                                    java.io.OutputStream output)
                             throws java.io.IOException
Throws:
java.io.IOException

writeExplicitECParameters

public static void writeExplicitECParameters(short[] ecPointFormats,
                                             ECDomainParameters ecParameters,
                                             java.io.OutputStream output)
                                      throws java.io.IOException
Throws:
java.io.IOException

writeNamedECParameters

public static void writeNamedECParameters(int namedCurve,
                                          java.io.OutputStream output)
                                   throws java.io.IOException
Throws:
java.io.IOException

Bouncy Castle Cryptography Library 1.49