Package org.apache.sshd.common.signature
Interface SignatureFactory
-
- All Superinterfaces:
BuiltinFactory<Signature>
,Factory<Signature>
,NamedFactory<Signature>
,NamedResource
,OptionalFeature
,java.util.function.Supplier<Signature>
- All Known Implementing Classes:
BuiltinSignatures
public interface SignatureFactory extends BuiltinFactory<Signature>
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.List<java.lang.String>
ECC_SIGNATURE_TYPE_PREFERENCES
ECC signature types in ascending order of preference (i.e., most preferred 1st)static java.util.List<java.lang.String>
RSA_SIGNATURE_TYPE_PREFERENCES
RSA signature types in ascending order of preference (i.e., most preferred 1st)-
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
Static Methods Modifier and Type Method Description static int
resolvePreferredSignaturePosition(java.util.List<? extends NamedFactory<Signature>> factories, NamedFactory<Signature> factory)
static int
resolvePreferredSignaturePosition(java.util.List<java.lang.String> preferredOrder, int prefValue, java.util.Map<java.lang.String,java.lang.Integer> posMap)
static java.util.List<java.lang.String>
resolveSignatureFactoriesProposal(java.lang.Iterable<java.lang.String> provided, java.util.Collection<? extends NamedFactory<Signature>> factories)
static NamedFactory<? extends Signature>
resolveSignatureFactory(java.lang.String keyType, java.util.Collection<? extends NamedFactory<? extends Signature>> factories)
static NamedFactory<Signature>
resolveSignatureFactoryByPublicKey(java.security.PublicKey pubKey, java.lang.String algo)
static java.util.List<java.lang.String>
resolveSignatureFactoryNamesProposal(java.lang.Iterable<java.lang.String> provided, java.util.Collection<java.lang.String> available)
-
Methods inherited from interface org.apache.sshd.common.NamedResource
getName
-
Methods inherited from interface org.apache.sshd.common.OptionalFeature
isSupported
-
-
-
-
Field Detail
-
ECC_SIGNATURE_TYPE_PREFERENCES
static final java.util.List<java.lang.String> ECC_SIGNATURE_TYPE_PREFERENCES
ECC signature types in ascending order of preference (i.e., most preferred 1st)
-
RSA_SIGNATURE_TYPE_PREFERENCES
static final java.util.List<java.lang.String> RSA_SIGNATURE_TYPE_PREFERENCES
RSA signature types in ascending order of preference (i.e., most preferred 1st)
-
-
Method Detail
-
resolveSignatureFactoriesProposal
static java.util.List<java.lang.String> resolveSignatureFactoriesProposal(java.lang.Iterable<java.lang.String> provided, java.util.Collection<? extends NamedFactory<Signature>> factories)
- Parameters:
provided
- The provided signature key typesfactories
- The available signature factories- Returns:
- A
List
of the matching available factories names that are also listed as provided ones - in the same order of preference as they appear in the available listing. May be empty if no provided signature key types, or no available ones or no match found. - See Also:
resolveSignatureFactoryNamesProposal(Iterable, Collection)
-
resolveSignatureFactoryNamesProposal
static java.util.List<java.lang.String> resolveSignatureFactoryNamesProposal(java.lang.Iterable<java.lang.String> provided, java.util.Collection<java.lang.String> available)
- Parameters:
provided
- The provided signature key typesavailable
- The available signature factories names- Returns:
- A
List
of the matching available factories names that are also listed as provided ones - in the same order of preference as they appear in the available listing. May be empty if no provided signature key types, or no available ones or no match found.
-
resolvePreferredSignaturePosition
static int resolvePreferredSignaturePosition(java.util.List<? extends NamedFactory<Signature>> factories, NamedFactory<Signature> factory)
-
resolvePreferredSignaturePosition
static int resolvePreferredSignaturePosition(java.util.List<java.lang.String> preferredOrder, int prefValue, java.util.Map<java.lang.String,java.lang.Integer> posMap)
-
resolveSignatureFactory
static NamedFactory<? extends Signature> resolveSignatureFactory(java.lang.String keyType, java.util.Collection<? extends NamedFactory<? extends Signature>> factories)
-
resolveSignatureFactoryByPublicKey
static NamedFactory<Signature> resolveSignatureFactoryByPublicKey(java.security.PublicKey pubKey, java.lang.String algo) throws java.security.spec.InvalidKeySpecException
- Parameters:
pubKey
- The intendedPublicKey
- ignored ifnull
algo
- The intended signature algorithm - ifnull
/empty and multiple signatures available for the key type then a default will be used. Otherwise, it is validated to make sure it matches the public key type- Returns:
- The
Signature
factory ornull
if no match found - Throws:
java.security.spec.InvalidKeySpecException
- If specified algorithm does not match the selected public key
-
-