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 Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanLocateSigningKey(java.lang.String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider)Indicates if a signing key is available for the specified committer and/or signing key.booleancanLocateSigningKey(java.lang.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 java.lang.StringextractSignerId(java.lang.String pgpUserId)private BouncyCastleGpgKeylocateSigningKey(java.lang.String gpgSigningKey, PersonIdent committer, BouncyCastleGpgKeyPassphrasePrompt passphrasePrompt)private static voidregisterBouncyCastleProviderIfNecessary()voidsign(CommitBuilder commit, java.lang.String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider)Signs the specified commit.voidsignObject(ObjectBuilder object, java.lang.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
-
registerBouncyCastleProviderIfNecessary
private static void registerBouncyCastleProviderIfNecessary()
-
canLocateSigningKey
public boolean canLocateSigningKey(@Nullable java.lang.String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider) throws CanceledException
Description copied from class:GpgSignerIndicates if a signing key is available for the specified committer and/or signing key.- Specified by:
canLocateSigningKeyin 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:
trueif a signing key is available,falseotherwise- Throws:
CanceledException- when signing was canceled (eg., user aborted when entering passphrase)
-
canLocateSigningKey
public boolean canLocateSigningKey(@Nullable java.lang.String gpgSigningKey, PersonIdent committer, CredentialsProvider credentialsProvider, GpgConfig config) throws CanceledException, UnsupportedSigningFormatException
Description copied from interface:GpgObjectSignerIndicates if a signing key is available for the specified committer and/or signing key.- Specified by:
canLocateSigningKeyin 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:
trueif a signing key is available,falseotherwise- 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 java.lang.String gpgSigningKey, PersonIdent committer, BouncyCastleGpgKeyPassphrasePrompt passphrasePrompt) throws CanceledException, UnsupportedCredentialItem, java.io.IOException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, org.bouncycastle.openpgp.PGPException, java.net.URISyntaxException
- Throws:
CanceledExceptionUnsupportedCredentialItemjava.io.IOExceptionjava.security.NoSuchAlgorithmExceptionjava.security.NoSuchProviderExceptionorg.bouncycastle.openpgp.PGPExceptionjava.net.URISyntaxException
-
sign
public void sign(@NonNull CommitBuilder commit, @Nullable java.lang.String gpgSigningKey, @NonNull PersonIdent committer, CredentialsProvider credentialsProvider) throws CanceledException
Description copied from class:GpgSignerSigns 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:
signin classGpgSigner- Parameters:
commit- the commit to sign (must not benulland 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 java.lang.String gpgSigningKey, @NonNull PersonIdent committer, CredentialsProvider credentialsProvider, GpgConfig config) throws CanceledException, UnsupportedSigningFormatException
Description copied from interface:GpgObjectSignerSigns 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:
signObjectin interfaceGpgObjectSigner- Parameters:
object- the object to sign (must not benulland 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
static java.lang.String extractSignerId(java.lang.String pgpUserId)
-
-