Class BouncyCastleGpgSigner
- All Implemented Interfaces:
GpgObjectSigner
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
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.(package private) static String
extractSignerId
(String pgpUserId) private BouncyCastleGpgKey
locateSigningKey
(String gpgSigningKey, PersonIdent committer, BouncyCastleGpgKeyPassphrasePrompt passphrasePrompt) private static void
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
-
Constructor Details
-
BouncyCastleGpgSigner
public BouncyCastleGpgSigner()Create a new instance.The BounceCastleProvider will be registered if necessary.
-
-
Method Details
-
registerBouncyCastleProviderIfNecessary
private static void registerBouncyCastleProviderIfNecessary() -
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
-
locateSigningKey
private BouncyCastleGpgKey locateSigningKey(@Nullable String gpgSigningKey, PersonIdent committer, BouncyCastleGpgKeyPassphrasePrompt passphrasePrompt) throws CanceledException, UnsupportedCredentialItem, IOException, NoSuchAlgorithmException, NoSuchProviderException, org.bouncycastle.openpgp.PGPException, URISyntaxException - Throws:
CanceledException
UnsupportedCredentialItem
IOException
NoSuchAlgorithmException
NoSuchProviderException
org.bouncycastle.openpgp.PGPException
URISyntaxException
-
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
-
extractSignerId
-