from StringIO import StringIO from app import config_provider from util.config.validators import BaseValidator, ConfigValidationException from util.security.signing import SIGNING_ENGINES class SignerValidator(BaseValidator): name = "signer" @classmethod def validate(cls, config, user, user_password): """ Validates the GPG public+private key pair used for signing converted ACIs. """ if config.get('SIGNING_ENGINE') is None: return if config['SIGNING_ENGINE'] not in SIGNING_ENGINES: raise ConfigValidationException('Unknown signing engine: %s' % config['SIGNING_ENGINE']) engine = SIGNING_ENGINES[config['SIGNING_ENGINE']](config, config_provider) engine.detached_sign(StringIO('test string'))