Merge remote-tracking branch 'drebs/feature/allow-choice-of-digest-algo-when-signing' into develop
commit
3d57d359bd
|
@ -600,7 +600,8 @@ class GPGBase(object):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def _sign_file(self, file, default_key=None, passphrase=None,
|
def _sign_file(self, file, default_key=None, passphrase=None,
|
||||||
clearsign=True, detach=False, binary=False):
|
clearsign=True, detach=False, binary=False,
|
||||||
|
digest_algo='SHA512'):
|
||||||
"""Create a signature for a file.
|
"""Create a signature for a file.
|
||||||
|
|
||||||
:param file: The file stream (i.e. it's already been open()'d) to sign.
|
:param file: The file stream (i.e. it's already been open()'d) to sign.
|
||||||
|
@ -609,6 +610,10 @@ class GPGBase(object):
|
||||||
:param bool clearsign: If True, create a cleartext signature.
|
:param bool clearsign: If True, create a cleartext signature.
|
||||||
:param bool detach: If True, create a detached signature.
|
:param bool detach: If True, create a detached signature.
|
||||||
:param bool binary: If True, do not ascii armour the output.
|
:param bool binary: If True, do not ascii armour the output.
|
||||||
|
:param str digest_algo: The hash digest to use. Again, to see which
|
||||||
|
hashes your GnuPG is capable of using, do:
|
||||||
|
``$ gpg --with-colons --list-config digestname``.
|
||||||
|
The default, if unspecified, is ``'SHA512'``.
|
||||||
"""
|
"""
|
||||||
log.debug("_sign_file():")
|
log.debug("_sign_file():")
|
||||||
if binary:
|
if binary:
|
||||||
|
@ -629,6 +634,8 @@ class GPGBase(object):
|
||||||
if default_key:
|
if default_key:
|
||||||
args.append(str("--default-key %s" % default_key))
|
args.append(str("--default-key %s" % default_key))
|
||||||
|
|
||||||
|
args.append(str("--digest-algo %s" % digest_algo))
|
||||||
|
|
||||||
## We could use _handle_io here except for the fact that if the
|
## We could use _handle_io here except for the fact that if the
|
||||||
## passphrase is bad, gpg bails and you can't write the message.
|
## passphrase is bad, gpg bails and you can't write the message.
|
||||||
result = self._result_map['sign'](self)
|
result = self._result_map['sign'](self)
|
||||||
|
|
|
@ -179,6 +179,10 @@ class GPG(GPGBase):
|
||||||
:param bool clearsign: If True, create a cleartext signature.
|
:param bool clearsign: If True, create a cleartext signature.
|
||||||
:param bool detach: If True, create a detached signature.
|
:param bool detach: If True, create a detached signature.
|
||||||
:param bool binary: If True, do not ascii armour the output.
|
:param bool binary: If True, do not ascii armour the output.
|
||||||
|
:param str digest_algo: The hash digest to use. Again, to see which
|
||||||
|
hashes your GnuPG is capable of using, do:
|
||||||
|
``$ gpg --with-colons --list-config digestname``.
|
||||||
|
The default, if unspecified, is ``'SHA512'``.
|
||||||
"""
|
"""
|
||||||
if 'default_key' in kwargs.items():
|
if 'default_key' in kwargs.items():
|
||||||
log.info("Signing message '%r' with keyid: %s"
|
log.info("Signing message '%r' with keyid: %s"
|
||||||
|
|
Loading…
Reference in New Issue