Package org.eclipse.jgit.gpg.bc.internal
Class BouncyCastleGpgSigner
- java.lang.Object
-
- org.eclipse.jgit.lib.GpgSigner
-
- org.eclipse.jgit.gpg.bc.internal.BouncyCastleGpgSigner
-
- All Implemented Interfaces:
GpgObjectSigner
public class BouncyCastleGpgSigner extends GpgSigner implements GpgObjectSigner
GPG Signer using the BouncyCastle library.
-
-
Constructor Summary
Constructors Constructor Description BouncyCastleGpgSigner()
Create a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canLocateSigningKey(String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider)
Indicates if a signing key is available for the specified committer and/or signing key.boolean
canLocateSigningKey(String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider, GpgConfig config)
Indicates if a signing key is available for the specified committer and/or signing key.void
sign(CommitBuilder commit, String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider)
Signs the specified commit.void
signObject(ObjectBuilder object, String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider, GpgConfig config)
Signs the specified object.-
Methods inherited from class org.eclipse.jgit.lib.GpgSigner
getDefault, setDefault
-
-
-
-
Method Detail
-
canLocateSigningKey
public boolean canLocateSigningKey(@Nullable String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider) throws CanceledException
Description copied from class:GpgSigner
Indicates if a signing key is available for the specified committer and/or signing key.- Specified by:
canLocateSigningKey
in classGpgSigner
- Parameters:
gpgSigningKey
- the signing key to locate (passed as is to the GPG signing tool as is; eg., value ofuser.signingkey
)committer
- the signing identity (to help with key lookup in case signing key is not specified)credentialsProvider
- provider to use when querying for signing key credentials (eg. passphrase)- Returns:
true
if a signing key is available,false
otherwise- Throws:
CanceledException
- when signing was canceled (eg., user aborted when entering passphrase)
-
canLocateSigningKey
public boolean canLocateSigningKey(@Nullable String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider, GpgConfig config) throws CanceledException, UnsupportedSigningFormatException
Description copied from interface:GpgObjectSigner
Indicates if a signing key is available for the specified committer and/or signing key.- Specified by:
canLocateSigningKey
in interfaceGpgObjectSigner
- Parameters:
gpgSigningKey
- the signing key to locate (passed as is to the GPG signing tool as is; eg., value ofuser.signingkey
)committer
- the signing identity (to help with key lookup in case signing key is not specified)credentialsProvider
- provider to use when querying for signing key credentials (eg. passphrase)config
- GPG settings from the git config- Returns:
true
if a signing key is available,false
otherwise- Throws:
CanceledException
- when signing was canceled (eg., user aborted when entering passphrase)UnsupportedSigningFormatException
- if a config is given and the wanted key format is not supported
-
sign
public void sign(@NonNull CommitBuilder commit, @Nullable String gpgSigningKey, @NonNull PersonIdent committer, CredentialsProvider credentialsProvider) throws CanceledException
Description copied from class:GpgSigner
Signs the specified commit.Implementors should obtain the payload for signing from the specified commit via
CommitBuilder.build()
and create a properGpgSignature
. The generated signature must be set on the specifiedcommit
(seeObjectBuilder.setGpgSignature(GpgSignature)
).Any existing signature on the commit must be discarded prior obtaining the payload via
CommitBuilder.build()
.- Specified by:
sign
in classGpgSigner
- Parameters:
commit
- the commit to sign (must not benull
and must be complete to allow proper calculation of payload)gpgSigningKey
- the signing key to locate (passed as is to the GPG signing tool as is; eg., value ofuser.signingkey
)committer
- the signing identity (to help with key lookup in case signing key is not specified)credentialsProvider
- provider to use when querying for signing key credentials (eg. passphrase)- Throws:
CanceledException
- when signing was canceled (eg., user aborted when entering passphrase)
-
signObject
public void signObject(@NonNull ObjectBuilder object, @Nullable String gpgSigningKey, @NonNull PersonIdent committer, CredentialsProvider credentialsProvider, GpgConfig config) throws CanceledException, UnsupportedSigningFormatException
Description copied from interface:GpgObjectSigner
Signs the specified object.Implementors should obtain the payload for signing from the specified object via
ObjectBuilder.build()
and create a properGpgSignature
. The generated signature must be set on the specifiedobject
(seeObjectBuilder.setGpgSignature(GpgSignature)
).Any existing signature on the object must be discarded prior obtaining the payload via
ObjectBuilder.build()
.- Specified by:
signObject
in interfaceGpgObjectSigner
- Parameters:
object
- the object to sign (must not benull
and must be complete to allow proper calculation of payload)gpgSigningKey
- the signing key to locate (passed as is to the GPG signing tool as is; eg., value ofuser.signingkey
)committer
- the signing identity (to help with key lookup in case signing key is not specified)credentialsProvider
- provider to use when querying for signing key credentials (eg. passphrase)config
- GPG settings from the git config- Throws:
CanceledException
- when signing was canceled (eg., user aborted when entering passphrase)UnsupportedSigningFormatException
- if a config is given and the wanted key format is not supported
-
-