com.mindbright.ssh2
Interface SSH2PKISigner

All Known Implementing Classes:
SSH2Signature

public interface SSH2PKISigner

This interface is a simple abstraction of a PKI signing mechanism. An implementation of this interface can use certificates or plain public keys, this is something which is defined by the ssh2 specific algorithm name used to identify it.

See Also:
SSH2AuthPublicKey

Method Summary
 void clearSensitiveData()
          Try to remove any sensitive data from memory.
 java.lang.String getAlgorithmName()
          Get the algorithm name.
 byte[] getPublicKeyBlob()
          Get the public key blob encoded according to the ssh standard.
 void setIncompatibility(SSH2Transport transport)
          Set eventual incompatibility modes depending on the remote end.
 byte[] sign(byte[] data)
          Sign a blob of data.
 

Method Detail

getAlgorithmName

public java.lang.String getAlgorithmName()
Get the algorithm name.

Returns:
The algorithm name.

getPublicKeyBlob

public byte[] getPublicKeyBlob()
                        throws SSH2SignatureException
Get the public key blob encoded according to the ssh standard.

Returns:
A byte array containing the public key.
Throws:
SSH2SignatureException

sign

public byte[] sign(byte[] data)
            throws SSH2SignatureException
Sign a blob of data.

Parameters:
data - The data to be signed.
Returns:
The signature, encoded according to the ssh standard.
Throws:
SSH2SignatureException

setIncompatibility

public void setIncompatibility(SSH2Transport transport)
Set eventual incompatibility modes depending on the remote end. Some older ssh implementations use slightly incompatible algorithms when signing data.


clearSensitiveData

public void clearSensitiveData()
Try to remove any sensitive data from memory.