Package org.apache.sshd.common.cipher
Enum ECCurves
- java.lang.Object
-
- java.lang.Enum<ECCurves>
-
- org.apache.sshd.common.cipher.ECCurves
-
- All Implemented Interfaces:
Serializable,Comparable<ECCurves>,KeySizeIndicator,KeyTypeIndicator,NamedResource,OptionalFeature
public enum ECCurves extends Enum<ECCurves> implements KeyTypeIndicator, KeySizeIndicator, NamedResource, OptionalFeature
Utilities for working with elliptic curves.- Author:
- Apache MINA SSHD Project
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classECCurves.Constantsstatic classECCurves.ECPointCompressionThe variousECPointrepresentation compression indicators
-
Field Summary
Fields Modifier and Type Field Description static Comparator<ECCurves>BY_KEY_SIZEstatic NavigableSet<String>KEY_TYPESASetof all the known curves key typesstatic NavigableSet<String>NAMESASetof all the known curves namesstatic List<ECCurves>SORTED_KEY_SIZEstatic Set<ECCurves>VALUESASetof all the known curves-
Fields inherited from interface org.apache.sshd.common.NamedResource
BY_NAME_COMPARATOR, NAME_EXTRACTOR
-
Fields inherited from interface org.apache.sshd.common.OptionalFeature
FALSE, TRUE
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static byte[]encodeECPoint(ECPoint group, ECParameterSpec params)static byte[]encodeECPoint(ECPoint group, EllipticCurve curve)static ECCurvesfromCurveName(String name)static ECCurvesfromCurveParameters(ECParameterSpec params)static ECCurvesfromCurveSize(int keySize)static ECCurvesfromECKey(ECKey key)static ECCurvesfromKeyType(String type)static ECCurvesfromOID(String oid)static ECCurvesfromOIDValue(List<? extends Number> oid)static intgetCurveSize(ECParameterSpec params)DigestgetDigestForParams()intgetKeySize()StringgetKeyType()StringgetName()intgetNumPointOctets()StringgetOID()List<Integer>getOIDValue()ECParameterSpecgetParameters()booleanisSupported()static ECPointoctetStringToEcPoint(byte... octets)static BigIntegeroctetStringToInteger(byte... octets)Converts the given octet string (defined by ASN.1 specifications) to aBigIntegerAs octet strings always represent positive integers, a zero-byte is prepended to the given array if necessary (if is MSB equal to 1), then this is converted to BigInteger The conversion is defined in the Section 2.3.8static ECCurvesvalueOf(String name)Returns the enum constant of this type with the specified name.static ECCurves[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Field Detail
-
NAMES
public static final NavigableSet<String> NAMES
ASetof all the known curves names
-
KEY_TYPES
public static final NavigableSet<String> KEY_TYPES
ASetof all the known curves key types
-
BY_KEY_SIZE
public static final Comparator<ECCurves> BY_KEY_SIZE
-
-
Method Detail
-
values
public static ECCurves[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (ECCurves c : ECCurves.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static ECCurves valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
getName
public final String getName()
- Specified by:
getNamein interfaceNamedResource- Returns:
- The resource name
-
getOID
public final String getOID()
-
getKeyType
public final String getKeyType()
- Specified by:
getKeyTypein interfaceKeyTypeIndicator- Returns:
- The SSH key type name - e.g., "ssh-rsa", "sshd-dss" etc.
-
isSupported
public final boolean isSupported()
- Specified by:
isSupportedin interfaceOptionalFeature
-
getParameters
public final ECParameterSpec getParameters()
-
getKeySize
public final int getKeySize()
- Specified by:
getKeySizein interfaceKeySizeIndicator- Returns:
- The number of bits used in the key
-
getNumPointOctets
public final int getNumPointOctets()
- Returns:
- The number of octets used to represent the point(s) for the curve
-
getDigestForParams
public final Digest getDigestForParams()
- Returns:
- The
Digestto use when hashing the curve's parameters
-
fromKeyType
public static ECCurves fromKeyType(String type)
- Parameters:
type- The key type value - ignored ifnull/empty- Returns:
- The matching
ECCurvesconstant -nullif no match found case insensitive
-
fromCurveName
public static ECCurves fromCurveName(String name)
- Parameters:
name- The curve name (case insensitive - ignored ifnull/empty- Returns:
- The matching
ECCurvesinstance -nullif no match found
-
fromCurveParameters
public static ECCurves fromCurveParameters(ECParameterSpec params)
- Parameters:
params- The curve'sECParameterSpec- ignored ifnull- Returns:
- The matching
ECCurvesvalue -nullif no match found - See Also:
getCurveSize(ECParameterSpec),fromCurveSize(int)
-
fromCurveSize
public static ECCurves fromCurveSize(int keySize)
- Parameters:
keySize- The key size (in bits)- Returns:
- The matching
ECCurvesvalue -nullif no match found
-
getCurveSize
public static int getCurveSize(ECParameterSpec params)
- Parameters:
params- The curve'sECParameterSpec- Returns:
- The curve's key size in bits
- Throws:
IllegalArgumentException- if invalid parameters provided
-
encodeECPoint
public static byte[] encodeECPoint(ECPoint group, ECParameterSpec params)
-
encodeECPoint
public static byte[] encodeECPoint(ECPoint group, EllipticCurve curve)
-
octetStringToInteger
public static BigInteger octetStringToInteger(byte... octets)
Converts the given octet string (defined by ASN.1 specifications) to aBigIntegerAs octet strings always represent positive integers, a zero-byte is prepended to the given array if necessary (if is MSB equal to 1), then this is converted to BigInteger The conversion is defined in the Section 2.3.8- Parameters:
octets- - octet string bytes to be converted- Returns:
- The
BigIntegerrepresentation of the octet string
-
octetStringToEcPoint
public static ECPoint octetStringToEcPoint(byte... octets)
-
-