1234567891011121314151617181920212223242526272829303132333435363738 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- module SecureMailing::PGP::Tool::Key
- extend ActiveSupport::Concern
- include SecureMailing::PGP::Tool::Exec
- included do
- def import(key)
- gpg('import', stdin: key)
- end
- def export(fingerprint, passphrase = nil, secret: false)
- options = %w[
- --export-options export-minimal
- --armor
- ]
- command = secret ? 'export-secret-key' : 'export'
- result = gpg(command, options: options, arguments: [fingerprint], passphrase: passphrase)
- return result if result.stdout.present?
- error_export!(result.stderr, secret)
- result
- end
- def passphrase(fingerprint, passphrase)
- options = %w[--dry-run]
- result = gpg('passwd', options: options, arguments: [fingerprint], passphrase: passphrase)
- error_passphrase!(result.stderr)
- result
- end
- end
- end
|