Top Description Inners Fields Constructors Methods
org.apache.sshd.common.cipher

public sealed Enum BuiltinCiphers

extends Enum<BuiltinCiphers>
implements CipherFactory
Class Inheritance
All Implemented Interfaces
org.apache.sshd.common.cipher.CipherFactory, org.apache.sshd.common.cipher.CipherInformation, org.apache.sshd.common.keyprovider.KeySizeIndicator, org.apache.sshd.common.AlgorithmNameProvider, org.apache.sshd.common.BuiltinFactory, org.apache.sshd.common.OptionalFeature, org.apache.sshd.common.NamedFactory, org.apache.sshd.common.NamedResource, org.apache.sshd.common.Factory, java.util.function.Supplier
Imports
java.util.ArrayList, .Arrays, .Collection, .Collections, .EnumSet, .List, .Map, .NavigableSet, .Objects, .Set, .SortedSet, .TreeMap, java.util.concurrent.atomic.AtomicReference, java.util.regex.Matcher, .Pattern, org.apache.sshd.common.NamedFactory, .NamedResource, org.apache.sshd.common.config.NamedFactoriesListParseResult, org.apache.sshd.common.util.GenericUtils, .ValidateUtils, org.apache.sshd.common.util.security.SecurityUtils

Provides easy access to the currently implemented ciphers
Author
Apache MINA SSHD Project

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
public static class

Field Summary

Modifier and TypeField and Description
public static final BuiltinCiphers
public static final BuiltinCiphers
public static final BuiltinCiphers
public static final BuiltinCiphers
public static final BuiltinCiphers
public static final BuiltinCiphers
public static final BuiltinCiphers
public static final BuiltinCiphers
private final String
public static final BuiltinCiphers
arcfour128

Deprecated
public static final BuiltinCiphers
arcfour256

Deprecated
private final int
private final int
public static final BuiltinCiphers
blowfishcbc

Deprecated
public static final BuiltinCiphers
private static final Map<String, CipherFactory>
private final String
private final int
private final int
public static final BuiltinCiphers
private final AtomicReference<Boolean>
private final String
public static final BuiltinCiphers
tripledescbc

Deprecated
public static final Set<BuiltinCiphers>

Constructor Summary

AccessConstructor and Description
private
BuiltinCiphers(String factoryName, int ivsize, int authSize, String algorithm, int keySizeInBits, String transformation, int blkSize)

Method Summary

Modifier and TypeMethod and Description
public Cipher
public static BuiltinCiphers

Returns:

The matching BuiltinCiphers whose factory name matches (case insensitive) the cipher factory name
fromFactory
(NamedFactory<Cipher>
The NamedFactory for the cipher - ignored if null
factory
)

public static BuiltinCiphers

Returns:

The matching BuiltinCiphers whose factory name matches (case insensitive) the provided name - null if no match
fromFactoryName
(String
The factory name - ignored if null/empty
name
)

public static BuiltinCiphers

Returns:

The matching BuiltinCiphers whose Enum#name() matches (case insensitive) the provided argument - null if no match
fromString
(String
The Enum's name - ignored if null/empty
s
)

public String
public int
public int
public int
public int
public int
public final String
public static NavigableSet<CipherFactory>

Returns:

A SortedSet of the currently registered extensions, sorted according to the factory name (case insensitive)
getRegisteredExtensions
()

public String
public boolean

Returns:

true if the current JVM configuration supports this cipher - e.g., AES-256 requires the Java Cryptography Extension (JCE)
isSupported
()

Implements org.apache.sshd.common.OptionalFeature.isSupported.

public static BuiltinCiphers.ParseResult

Returns:

A ParseResult containing the successfully parsed factories and the unknown ones

Note

it is up to caller to ensure that the lists do not contain duplicates

parseCiphersList
(String
A comma-separated list of ciphers' names - ignored if null/empty
ciphers
)

public static BuiltinCiphers.ParseResult
public static BuiltinCiphers.ParseResult
public static void
registerExtension(CipherFactory
The factory to register
extension
)

Registered a NamedFactory to be available besides the built-in ones when parsing configuration

public static CipherFactory

Returns:

The factory or null if it is neither a built-in one or a registered extension
resolveFactory
(String
The factory name
name
)

public final String
toString()

Overrides java.lang.Enum.toString.

Returns the name of this enum constant, as contained in the declaration.

public static NamedFactory<Cipher>

Returns:

The registered extension - null if not found
unregisterExtension
(String
The factory name - ignored if null/empty
name
)

Unregisters specified extension

public static BuiltinCiphers
public static BuiltinCiphers[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinalvalueOf

Field Detail

aes128cbcback to summary
public static final BuiltinCiphers aes128cbc
aes128ctrback to summary
public static final BuiltinCiphers aes128ctr
aes128gcmback to summary
public static final BuiltinCiphers aes128gcm
aes192cbcback to summary
public static final BuiltinCiphers aes192cbc
aes192ctrback to summary
public static final BuiltinCiphers aes192ctr
aes256cbcback to summary
public static final BuiltinCiphers aes256cbc
aes256ctrback to summary
public static final BuiltinCiphers aes256ctr
aes256gcmback to summary
public static final BuiltinCiphers aes256gcm
algorithmback to summary
private final String algorithm
arcfour128back to summary
public static final BuiltinCiphers arcfour128

Deprecated

Annotations
@Deprecated
See Also
SSHD-1004
arcfour256back to summary
public static final BuiltinCiphers arcfour256

Deprecated

Annotations
@Deprecated
See Also
SSHD-1004
authSizeback to summary
private final int authSize
blkSizeback to summary
private final int blkSize
blowfishcbcback to summary
public static final BuiltinCiphers blowfishcbc

Deprecated

Annotations
@Deprecated
See Also
SSHD-1004
cc20p1305_opensshback to summary
public static final BuiltinCiphers cc20p1305_openssh
EXTENSIONSback to summary
private static final Map<String, CipherFactory> EXTENSIONS
factoryNameback to summary
private final String factoryName
ivsizeback to summary
private final int ivsize
keySizeback to summary
private final int keySize
noneback to summary
public static final BuiltinCiphers none
supportedback to summary
private final AtomicReference<Boolean> supported
transformationback to summary
private final String transformation
tripledescbcback to summary
public static final BuiltinCiphers tripledescbc

Deprecated

Annotations
@Deprecated
See Also
SSHD-1004
VALUESback to summary
public static final Set<BuiltinCiphers> VALUES

Constructor Detail

BuiltinCiphersback to summary
private BuiltinCiphers(String factoryName, int ivsize, int authSize, String algorithm, int keySizeInBits, String transformation, int blkSize)

Method Detail

createback to summary
public Cipher create()

Implements org.apache.sshd.common.Factory.create.

Returns:Cipher

Doc from org.apache.sshd.common.Factory.create.

A new instance

Annotations
@Override
fromFactoryback to summary
public static BuiltinCiphers fromFactory(NamedFactory<Cipher> factory)
Parameters
factory:NamedFactory<Cipher>

The NamedFactory for the cipher - ignored if null

Returns:BuiltinCiphers

The matching BuiltinCiphers whose factory name matches (case insensitive) the cipher factory name

See Also
fromFactoryName(String)
fromFactoryNameback to summary
public static BuiltinCiphers fromFactoryName(String name)
Parameters
name:String

The factory name - ignored if null/empty

Returns:BuiltinCiphers

The matching BuiltinCiphers whose factory name matches (case insensitive) the provided name - null if no match

fromStringback to summary
public static BuiltinCiphers fromString(String s)
Parameters
s:String

The Enum's name - ignored if null/empty

Returns:BuiltinCiphers

The matching BuiltinCiphers whose Enum#name() matches (case insensitive) the provided argument - null if no match

getAlgorithmback to summary
public String getAlgorithm()

Implements org.apache.sshd.common.AlgorithmNameProvider.getAlgorithm.

Annotations
@Override
getAuthenticationTagSizeback to summary
public int getAuthenticationTagSize()

Implements org.apache.sshd.common.cipher.CipherInformation.getAuthenticationTagSize.

Returns:int

Doc from org.apache.sshd.common.cipher.CipherInformation.getAuthenticationTagSize.

Size of the authentication tag (AT) in bytes or 0 if this cipher does not support authentication

Annotations
@Override
getCipherBlockSizeback to summary
public int getCipherBlockSize()

Implements org.apache.sshd.common.cipher.CipherInformation.getCipherBlockSize.

Returns:int

Doc from org.apache.sshd.common.cipher.CipherInformation.getCipherBlockSize.

Size of block data used by the cipher (in bytes). For stream ciphers this value is (currently) used to indicate some average work buffer size to be used for the automatic re-keying mechanism described in RFC 4253 - Section 9

Annotations
@Override
getIVSizeback to summary
public int getIVSize()

Implements org.apache.sshd.common.cipher.CipherInformation.getIVSize.

Returns:int

Doc from org.apache.sshd.common.cipher.CipherInformation.getIVSize.

Size of the initialization vector (in bytes)

Annotations
@Override
getKdfSizeback to summary
public int getKdfSize()

Implements org.apache.sshd.common.cipher.CipherInformation.getKdfSize.

Returns:int

Doc from org.apache.sshd.common.cipher.CipherInformation.getKdfSize.

The block size (in bytes) used to derive the secret key for this cipher

Annotations
@Override
getKeySizeback to summary
public int getKeySize()

Implements org.apache.sshd.common.keyprovider.KeySizeIndicator.getKeySize.

Returns:int

Doc from org.apache.sshd.common.keyprovider.KeySizeIndicator.getKeySize.

The number of bits used in the key

Annotations
@Override
getNameback to summary
public final String getName()

Implements org.apache.sshd.common.NamedResource.getName.

Returns:String

Doc from org.apache.sshd.common.NamedResource.getName.

The resource name

Annotations
@Override
getRegisteredExtensionsback to summary
public static NavigableSet<CipherFactory> getRegisteredExtensions()
Returns:NavigableSet<CipherFactory>

A SortedSet of the currently registered extensions, sorted according to the factory name (case insensitive)

getTransformationback to summary
public String getTransformation()

Implements org.apache.sshd.common.cipher.CipherInformation.getTransformation.

Returns:String

Doc from org.apache.sshd.common.cipher.CipherInformation.getTransformation.

The actual transformation used - e.g., AES/CBC/NoPadding

Annotations
@Override
isSupportedback to summary
public boolean isSupported()

Implements org.apache.sshd.common.OptionalFeature.isSupported.

Returns:boolean

true if the current JVM configuration supports this cipher - e.g., AES-256 requires the Java Cryptography Extension (JCE)

Annotations
@Override
parseCiphersListback to summary
public static BuiltinCiphers.ParseResult parseCiphersList(String ciphers)
Parameters
ciphers:String

A comma-separated list of ciphers' names - ignored if null/empty

Returns:BuiltinCiphers.ParseResult

A ParseResult containing the successfully parsed factories and the unknown ones

Note

it is up to caller to ensure that the lists do not contain duplicates

parseCiphersListback to summary
public static BuiltinCiphers.ParseResult parseCiphersList(String... ciphers)
parseCiphersListback to summary
public static BuiltinCiphers.ParseResult parseCiphersList(Collection<String> ciphers)
registerExtensionback to summary
public static void registerExtension(CipherFactory extension)

Registered a NamedFactory to be available besides the built-in ones when parsing configuration

Parameters
extension:CipherFactory

The factory to register

Exceptions
IllegalArgumentException:
if factory instance is null, or overrides a built-in one or overrides another registered factory with the same name (case insensitive).
resolveFactoryback to summary
public static CipherFactory resolveFactory(String name)
Parameters
name:String

The factory name

Returns:CipherFactory

The factory or null if it is neither a built-in one or a registered extension

toStringback to summary
public final String toString()

Overrides java.lang.Enum.toString.

Doc from java.lang.Enum.toString.

Returns the name of this enum constant, as contained in the declaration. This method may be overridden, though it typically isn't necessary or desirable. An enum class should override this method when a more "programmer-friendly" string form exists.

Returns:String

the name of this enum constant

Annotations
@Override
unregisterExtensionback to summary
public static NamedFactory<Cipher> unregisterExtension(String name)

Unregisters specified extension

Parameters
name:String

The factory name - ignored if null/empty

Returns:NamedFactory<Cipher>

The registered extension - null if not found

valueOfback to summary
public static BuiltinCiphers valueOf(String name)
valuesback to summary
public static BuiltinCiphers[] values()
org.apache.sshd.common.cipher back to summary

public final Class BuiltinCiphers.Constants

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final Pattern
public static final String

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static boolean

Returns:

true if the NONE cipher name appears in it
isNoneCipherIncluded
(String
A comma-separated list of ciphers - ignored if null/empty
s
)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

AES128_CBCback to summary
public static final String AES128_CBC
AES128_CTRback to summary
public static final String AES128_CTR
AES128_GCMback to summary
public static final String AES128_GCM
AES192_CBCback to summary
public static final String AES192_CBC
AES192_CTRback to summary
public static final String AES192_CTR
AES256_CBCback to summary
public static final String AES256_CBC
AES256_CTRback to summary
public static final String AES256_CTR
AES256_GCMback to summary
public static final String AES256_GCM
ARCFOUR128back to summary
public static final String ARCFOUR128
ARCFOUR256back to summary
public static final String ARCFOUR256
BLOWFISH_CBCback to summary
public static final String BLOWFISH_CBC
CC20P1305_OPENSSHback to summary
public static final String CC20P1305_OPENSSH
NONEback to summary
public static final String NONE
NONE_CIPHER_PATTERNback to summary
public static final Pattern NONE_CIPHER_PATTERN
TRIPLE_DES_CBCback to summary
public static final String TRIPLE_DES_CBC

Constructor Detail

Constantsback to summary
private Constants()

Method Detail

isNoneCipherIncludedback to summary
public static boolean isNoneCipherIncluded(String s)
Parameters
s:String

A comma-separated list of ciphers - ignored if null/empty

Returns:boolean

true if the NONE cipher name appears in it

org.apache.sshd.common.cipher back to summary

public Class BuiltinCiphers.ParseResult

extends NamedFactoriesListParseResult<Cipher, CipherFactory>
Class Inheritance

Holds the result of BuiltinCiphers#parseCiphersList(String)
Author
Apache MINA SSHD Project

Field Summary

Modifier and TypeField and Description
public static final BuiltinCiphers.ParseResult

Constructor Summary

AccessConstructor and Description
public
ParseResult(List<CipherFactory> parsed, List<String> unsupported)

Method Summary

Inherited from org.apache.sshd.common.config.NamedFactoriesListParseResult:
toString

Field Detail

EMPTYback to summary
public static final BuiltinCiphers.ParseResult EMPTY

Constructor Detail

ParseResultback to summary
public ParseResult(List<CipherFactory> parsed, List<String> unsupported)