Package org.apache.sshd.common.signature
Class AbstractSignature
java.lang.Object
org.apache.sshd.common.signature.AbstractSignature
- All Implemented Interfaces:
AlgorithmNameProvider,Signature
- Direct Known Subclasses:
SignatureDSA,SignatureECDSA,SignatureEd25519,SignatureRSA
Useful base class for
Signature implementation-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected SignaturedoInitSignature(SessionContext session, String algo, Key key, boolean forSigning) Initializes the internal signature instanceprotected booleandoVerify(byte[] data) extractEncodedSignature(byte[] sig, Collection<String> expectedTypes) Makes an attempt to detect if the signature is encoded or pure dataextractEncodedSignature(byte[] sig, Predicate<? super String> typeSelector) final Stringprotected SignaturevoidinitSigner(SessionContext session, PrivateKey key) voidinitVerifier(SessionContext session, PublicKey key) byte[]sign(SessionContext session) Compute the signaturetoString()voidupdate(SessionContext session, byte[] hash, int off, int len) Update the computed signature with the given dataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.sshd.common.signature.Signature
getSshAlgorithmName, update, verify
-
Field Details
-
signatureInstance
-
algorithm
-
-
Constructor Details
-
AbstractSignature
-
-
Method Details
-
getAlgorithm
- Specified by:
getAlgorithmin interfaceAlgorithmNameProvider
-
doInitSignature
protected Signature doInitSignature(SessionContext session, String algo, Key key, boolean forSigning) throws GeneralSecurityException Initializes the internal signature instance- Parameters:
session- TheSessionContextfor calling this method - may benullif not called within a session contextalgo- The signature's algorithm namekey- theKeythat is provided for initialization - aPrivateKeyfor signing and aPublicKeyfor verificationforSigning- Iftruethen it is being initialized for signing, otherwise for verifying a signature- Returns:
- The
Signatureinstance - Throws:
GeneralSecurityException- if failed to initialize
-
getSignature
- Returns:
- The current
Signatureinstance -nullif not initialized - See Also:
-
sign
Description copied from interface:SignatureCompute the signature- Specified by:
signin interfaceSignature- Parameters:
session- TheSessionContextfor calling this method - may benullif not called within a session context- Returns:
- The signature value
- Throws:
Exception- If failed to calculate the signature
-
initVerifier
- Specified by:
initVerifierin interfaceSignature- Parameters:
session- TheSessionContextfor calling this method - may benullif not called within a session contextkey- ThePublicKeyto be used for verifying signatures- Throws:
Exception- If failed to initialize
-
initSigner
- Specified by:
initSignerin interfaceSignature- Parameters:
session- TheSessionContextfor calling this method - may benullif not called within a session contextkey- ThePrivateKeyto be used for signing- Throws:
Exception- If failed to initialize
-
update
Description copied from interface:SignatureUpdate the computed signature with the given data- Specified by:
updatein interfaceSignature- Parameters:
session- TheSessionContextfor calling this method - may benullif not called within a session contexthash- The hash data bufferoff- Offset of hash data in bufferlen- Length of hash data- Throws:
Exception- If failed to update
-
extractEncodedSignature
protected Map.Entry<String,byte[]> extractEncodedSignature(byte[] sig, Collection<String> expectedTypes) Makes an attempt to detect if the signature is encoded or pure data- Parameters:
sig- The original signatureexpectedTypes- The expected encoded key types- Returns:
- A
AbstractMap.SimpleImmutableEntrywhere first value is the key type and second value is the data -nullif not encoded
-
extractEncodedSignature
-
doVerify
- Throws:
SignatureException
-
toString
-