def gpg_create(args): if args.export: old_sec_keys = Gpg.signing_keys() Gpg.create(name=args.name, email=args.email, comment=args.comment, expires=args.expires) if args.export: new_sec_keys = set(Gpg.signing_keys()) new_keys = new_sec_keys.difference(old_sec_keys) Gpg.export_keys(args.export, *new_keys)
def sign_tarball(key, force, specfile_path): # Sign the packages if keys available if spack.util.gpg.Gpg.gpg() is None: raise NoGpgException("gpg2 is not available in $PATH .\n" "Use spack install gnupg and spack load gnupg.") if key is None: keys = Gpg.signing_keys() if len(keys) == 1: key = keys[0] if len(keys) > 1: raise PickKeyException(str(keys)) if len(keys) == 0: msg = "No default key available for signing.\n" msg += "Use spack gpg init and spack gpg create" msg += " to create a default key." raise NoKeyException(msg) if os.path.exists('%s.asc' % specfile_path): if force: os.remove('%s.asc' % specfile_path) else: raise NoOverwriteException('%s.asc' % specfile_path) Gpg.sign(key, specfile_path, '%s.asc' % specfile_path)
def gpg_sign(args): key = args.key if key is None: keys = Gpg.signing_keys() if len(keys) == 1: key = keys[0] elif not keys: raise RuntimeError('no signing keys are available') else: raise RuntimeError('multiple signing keys are available; ' 'please choose one') output = args.output if not output: output = args.package + '.asc' # TODO: Support the package format Spack creates. Gpg.sign(key, args.package, output, args.clearsign)
def sign_tarball(yes_to_all, key, force, specfile_path): # Sign the packages if keys available if not has_gnupg2(): raise NoGpgException() else: if key is None: keys = Gpg.signing_keys() if len(keys) == 1: key = keys[0] if len(keys) > 1: raise PickKeyException() if len(keys) == 0: raise NoKeyException() if os.path.exists('%s.asc' % specfile_path): if force: os.remove('%s.asc' % specfile_path) else: raise NoOverwriteException('%s.asc' % specfile_path) Gpg.sign(key, specfile_path, '%s.asc' % specfile_path)
def sign_tarball(key, force, specfile_path): # Sign the packages if keys available if not has_gnupg2(): raise NoGpgException( "gpg2 is not available in $PATH .\n" "Use spack install gnupg and spack load gnupg.") else: if key is None: keys = Gpg.signing_keys() if len(keys) == 1: key = keys[0] if len(keys) > 1: raise PickKeyException(str(keys)) if len(keys) == 0: msg = "No default key available for signing.\n" msg += "Use spack gpg init and spack gpg create" msg += " to create a default key." raise NoKeyException(msg) if os.path.exists('%s.asc' % specfile_path): if force: os.remove('%s.asc' % specfile_path) else: raise NoOverwriteException('%s.asc' % specfile_path) Gpg.sign(key, specfile_path, '%s.asc' % specfile_path)
def gpg_export(args): """export a secret key""" keys = args.keys if not keys: keys = Gpg.signing_keys() Gpg.export_keys(args.location, *keys)