K - the type for the key informationpublic final class SshSignatureGenerator<K> extends Object
This implements the OpenSSH lightweight signature ability introduced with OpenSSH 8.1. It allows to sign messages using SSH keys according to the SSHSIG protocol.
Features:
Usage:
KeyPairGenerator tKeyPairGenerator = KeyPairGenerator.getInstance("RSA");
KeyPair tKeyPair = tKeyPairGenerator.generateKeyPair();
SshSignatureGenerator.create().generateSignature(tKeyPair, "namespace", "a message");
| Modifier and Type | Method and Description |
|---|---|
static SshSignatureGenerator<KeyPair> |
create()
Factory method for creating a SSH signature generator.
|
SshSignature |
generateSignature(K aKey,
String aNamespace,
byte[] aMessage)
Generates a SSH signature for a byte message.
|
SshSignature |
generateSignature(K aKey,
String aNamespace,
File aFile)
Generates a SSH signature for the content of a file.
|
SshSignature |
generateSignature(K aKey,
String aNamespace,
InputStream anInputStream)
Generates a SSH signature for data provided by an input stream.
|
SshSignature |
generateSignature(K aKey,
String aNamespace,
String aMessage)
Generates a SSH signature for a string message.
|
int |
getBufferSize() |
HashAlgorithm |
getHashAlgorithm() |
SshPublicKeyEncoder |
getPublicKeyEncoder() |
SigningBackend<K> |
getSigningBackend() |
SshSignatureGenerator<K> |
withBufferSize(int aBufferSize) |
SshSignatureGenerator<K> |
withHashAlgorithm(HashAlgorithm aHashAlgorithm) |
SshSignatureGenerator<K> |
withPublicKeyEncoder(SshPublicKeyEncoder aPublicKeyEncoder) |
<KK> SshSignatureGenerator<KK> |
withSigningBackend(SigningBackend<KK> aSigningBackend) |
public SigningBackend<K> getSigningBackend()
public SshPublicKeyEncoder getPublicKeyEncoder()
public HashAlgorithm getHashAlgorithm()
public int getBufferSize()
public SshSignature generateSignature(K aKey, String aNamespace, String aMessage) throws SshSignatureException
aKey - the SSH keyaNamespace - the namespaceaMessage - the string messageSshSignatureException - in case signature generation failedpublic SshSignature generateSignature(K aKey, String aNamespace, byte[] aMessage) throws SshSignatureException
aKey - the SSH keyaNamespace - the namespaceaMessage - the byte messageSshSignatureException - in case signature generation failedpublic SshSignature generateSignature(K aKey, String aNamespace, File aFile) throws IOException, SshSignatureException
aKey - the SSH keyaNamespace - the namespaceaFile - the fileIOException - in case reading from file failedSshSignatureException - in case signature generation failedpublic SshSignature generateSignature(K aKey, String aNamespace, InputStream anInputStream) throws IOException, SshSignatureException
aKey - the keyaNamespace - the namespaceanInputStream - the inputstreamIOException - in case reading from input stream failedSshSignatureException - in case signature generation failedpublic static SshSignatureGenerator<KeyPair> create()
The created generator uses the following default configuration
The with... Methodes can be used for altering the default config.
public <KK> SshSignatureGenerator<KK> withSigningBackend(SigningBackend<KK> aSigningBackend)
public SshSignatureGenerator<K> withPublicKeyEncoder(SshPublicKeyEncoder aPublicKeyEncoder)
public SshSignatureGenerator<K> withHashAlgorithm(HashAlgorithm aHashAlgorithm)
public SshSignatureGenerator<K> withBufferSize(int aBufferSize)
Copyright © 2023. All rights reserved.