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_PREFERENCESECC signature types in ascending order of preference (i.e., most preferred 1st)static java.util.List<java.lang.String>RSA_SIGNATURE_TYPE_PREFERENCESRSA 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 intresolvePreferredSignaturePosition(java.util.List<? extends NamedFactory<Signature>> factories, NamedFactory<Signature> factory)static intresolvePreferredSignaturePosition(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
Listof 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
Listof 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 ifnullalgo- 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
Signaturefactory ornullif no match found - Throws:
java.security.spec.InvalidKeySpecException- If specified algorithm does not match the selected public key
-
-